在windows系統底下可呼叫IE,再抓取畫面。
程式範例:
$newFile = 'images/'.time().'.jpg'; $browser = new COM("InternetExplorer.Application"); $handle = $browser->HWND; $browser->Visible = true; $browser->FullScreen = true; $browser->Navigate("google.com"); while ($browser->Busy) { com_message_pump(4000); } $im = imagegrabwindow($handle, 0); $browser->Quit(); imagepng($im, $newFile); imagedestroy($im);
InternetExplorer Object 說明:
- http://msdn.microsoft.com/en-us/library/aa752084(v=vs.85).aspx
- http://msdn.microsoft.com/en-us/library/ms970456.aspx
如果程式執行時,只抓到黑色的畫面。
可在「控制台」->「系統管理工具」->「服務」->開啟「Apache」的設定。
然後在「登入」的設定中,將「允許服務與桌面互動」勾選(如下圖所示),
再重新啟動Apache即可。
其他:
imagegrabwindow:Captures a window
http://www.php.net/manual/en/function.imagegrabwindow.php
imagegrabscreen:Captures the whole screen
http://www.php.net/manual/en/function.imagegrabscreen.php
沒有留言:
張貼留言