imagegrabwindow

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

imagegrabwindow捕获窗口

描述

imagegrabwindow(int $handle, bool $client_area = false): GdImage|false

使用窗口句柄(COM 实例中的 HWND 属性)捕获窗口或其客户区

注意:

此函数仅在 Windows 上可用。

参数

handle

HWND 窗口 ID。

client_area

包含应用程序窗口的客户区。

返回值

成功时返回图像对象,失败时返回 false

错误/异常

如果 handle 是无效的窗口句柄,则会发出 E_NOTICE。如果 Windows API 太旧,则会发出 E_WARNING。

变更日志

版本 描述
8.0.0 成功时,此函数现在返回一个 GDImage 实例;之前返回的是一个 resource
8.0.0 client_area 现在期望一个 bool;之前它期望一个 int

示例

示例 #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);
?>

参见

添加注释

用户贡献的注释 1 个注释

nico ->atdot
16 年前
如果您只想拍摄网站的屏幕截图,而不需要难看的 IE 窗口,最简单的方法是将 "Fullscreen" 属性设置为 TRUE。

$browser->Fullscreen = true;

这与在浏览器打开后按 F11 基本相同,因此您只会获得实际的网站。
To Top