GD and Image 函数
在线手册:中文 英文
PHP手册

imagegrabwindow

(PHP 5 >= 5.2.2)

imagegrabwindowCaptures a window

说明

resource imagegrabwindow ( int $window_handle [, int $client_area = 0 ] )

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

参数

window_handle

The HWND window ID.

client_area

Include the client area of the application window.

返回值

Returns an image resource identifier on success, FALSE on failure.

错误/异常

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

范例

Example #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($handle0);
$browser->Quit();
imagepng($im"iesnap.png");
imagedestroy($im);
?>

注释

Note:

This function is only available on Windows.

参见


GD and Image 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Captures a window

用户评论:

Xeon (30-Sep-2007 04:01)

This function was painfully slow when I was testing it on my machine. It took about 2 or 3 seconds for it to return an image. It also fails to work if the Apache service doesn't have access to "Interact with the desktop".

nico ->atdot (29-Sep-2007 04:37)

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.