如果您只想擷取網站的螢幕截圖,而不包含周圍醜陋的 IE 視窗,最簡單的方法是將「全螢幕」屬性設定為 TRUE。
$browser->Fullscreen = true;
這基本上與瀏覽器開啟後按下 F11 相同,因此您只會取得實際的網站畫面。
(PHP 5 >= 5.2.2, PHP 7, PHP 8)
imagegrabwindow — 擷取視窗
使用視窗控制代碼(COM 實例中的 HWND 屬性)擷取視窗或其客戶區。
注意:
此函式僅適用於 Windows。
handle
HWND 視窗 ID。
client_area
包含應用程式視窗的客戶區。
成功時返回一個影像物件,失敗時返回 false
。
如果 handle
是無效的視窗控制代碼,則會發出 E_NOTICE。如果 Windows API 版本太舊,則會發出 E_WARNING。
範例 #1 imagegrabwindow() 範例
擷取視窗(例如 IE)
<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>
擷取視窗(例如 IE),但包含其內容
<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");
/* 還在執行嗎? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>
如果您只想擷取網站的螢幕截圖,而不包含周圍醜陋的 IE 視窗,最簡單的方法是將「全螢幕」屬性設定為 TRUE。
$browser->Fullscreen = true;
這基本上與瀏覽器開啟後按下 F11 相同,因此您只會取得實際的網站畫面。