在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
沒有留言:
張貼留言