2012年5月19日 星期六

網頁快照(擷圖、抓圖)

imagegrabwindow



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 的內容,抓下來的圖會全黑。



===========================================================


CutyCapt



參考這篇:CentOS 5.5 Install CutyCapt 實作 


但安裝過程有些小細節要注意。


像是:





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






不過到 gmake 那一步過不去:


[root@host CutyCapt]# gmake


gmake: *** No targets specified and no makefile found.  Stop.





待續





===========================================================

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






沒有留言:

張貼留言