imagegrabwindow

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

imagegrabwindowCaptures a window

说明

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

Grabs a window or its client area using a windows handle (HWND property in COM instance)

注意:

This function is only available on Windows.

参数

handle

The HWND window ID.

client_area

Include the client area of the application window.

返回值

Returns an image object on success, false on failure.

错误/异常

E_NOTICE is issued if handle is invalid window handle. E_WARNING is issued if the Windows API is too old.

更新日志

版本 说明
8.0.0 On success, this function returns a GDImage instance now; previously, a resource was returned.
8.0.0 client_area expects a bool now; previously it expected an int.

示例

示例 #1 imagegrabwindow() example

Capture a window (IE for example)

<?php
$browser
= new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Capture a window (IE for example) but with its content

<?php
$browser
= new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");

/* Still working? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

参见

add a note add a note

User Contributed Notes 1 note

up
0
nico ->atdot
17 years ago
If you just want to take a screenshot of a website WITHOUT the ugly IE window around it, the easiest way is setting the "Fullscreen" property to TRUE.

$browser->Fullscreen = true;

This is basically the same as pressing F11 once the browser is open, so you just get the actual website.
To Top