1 這篇文章 有介紹,還說函式放哪裡、詳細說明放哪裡,但找半天不知道程式碼在哪。後來直接搜尋檔名即可。
2如果遇到抓下來的圖片全都是黑的,這篇文章提到很多解法,可以試試。不過沒能完全解決問題。像是它提到在php.ino 裡面要有 gdlib2.dll,而我的只有php_gd2.dll ,網路上也找不到 gdlib2.dll 這個東西。後來發現 $browser->StatusBar = false; 這一行會干擾。可是不使用這一行的話,底下的狀態列永遠都會出現 "完成" 的字眼,我不想這樣怎麼辦?沒關係,高度設定一下就可以避開這個問題。
$screen_h = $browser->Document->parentWindow->screen->height-17;
經實測後發現:
(1). 捲軸的寬度是 17 ,
(2). 圖檔寬度 = (Screen的Width-17) - $adjust*2
也就是說: $adjust = ((Screen的Width-17) - 圖檔寬度) / 2
假設想要的圖檔寬度是 1020,螢幕解析度是 1280 => 那麼 $adjust 應該設為 = 121.5
把這個值塞到下面這幾個地方:
$screen_h = $browser->Document->parentWindow->screen->height-17;
$screen_w = $browser->Document->parentWindow->screen->width-($adjust*2);
$content_w = $browser->Document->body->clientWidth + $browser->Document->body->offsetLeft * 2 - ($adjust*2);
imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x+$adjust, $src_y, $src_w, $src_h);
(3) 當我在看程式執行的過程,直覺的覺得在 IE 上按 x 停止讀取,有可能可以抓到圖。果然連續抓了兩張圖,於是找到 Stop() 這個方式,幾乎都可以抓到圖了!!Stop() 這個函數對於畫面全黑的解法很有用。
3. 其它參考
Imagegrabscreen php官網介紹
Imagegrabwindow php官網介紹
InternetExplorer Object 微軟官網介紹
網頁快照(抓網頁儲存成圖片)
後記:
寫了一個上傳 excel 檔,內含大量連結的檔案,結果約有四分之一是全黑,另外有一些是半黑(上半部正常,下半部全黑)。重新再試,結果通通都是全黑,一張圖也抓不下來了,真悲慘。
在網路上只找到的這種解法:服務 > Apache2.2 > 登入 > 與桌面互動,要打勾。但早就勾了,不然怎麼抓的到那些圖。但是現在一張圖都抓不下來 >_<
============================================================
html2image
◎Windows & Linux
◎有免費版跟付費版
參考文章:
html2image安装和使用
html2image的简介及使用心得
似乎遇到 flash 的內容,抓下來的圖會全黑。
===========================================================
但安裝過程有些小細節要注意。
像是:
1. 沒辦法直接 rpm -ivh qt44-devel-4.4.3-10_4.el5.i386.rpm
系統會說有很多前提套件有缺。
不過這樣就解決了:yum install qt44-devel-4.4.3-10_4.el5.i386.rpm
它會自動安裝相關套件。
2. 執行完這個指令後應該是要重開機才會生效: vim /etc/profile
3. 要安裝 svn
yum install -y subversion
可參考 Linux SVN 安裝及設定
不過到 gmake 那一步過不去:
[root@host CutyCapt]# gmake
gmake: *** No targets specified and no makefile found. Stop.
待續
其它參考:
CutyCapt (http://cutycapt.sourceforge.net/)
網頁快照 CutyCapt (巴克里的布拉格)
linux命令行抓取网页快照 -(xvfb+CutyCapt)
===========================================================
SiteShoter
NirSoft (官方網站)
SiteShoter 可定時將網頁擷取成圖片的工具(免安裝 繁體中文版)
幫你拍下網站照片的免費小工具--SiteShoter
===========================================================
URL2JPEG
擷取網頁完整畫面(繁體中文)
http://key.chtouch.com/ContentView.aspx?P=102
說明:程式,單次
===========================================================
Chrome擴充套件
說明:單次輸入
===========================================================
其它
PHP生成网页快照 不用COM不用扩展.
說明:這是利用上面提到的 yo2 的網站,看程式碼這兩行就知道了:
$url = 'http://ppt.cc/yo2/catch.php';
$ch = curl_init($url);
這樣應該是偷用吧?!
【精品 PHP 自动截图】 使用PHP的GD库来实现截屏 -taob.qq5163.com
沒有留言:
張貼留言