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".
imagegrabwindow
(PHP 5 >= 5.2.2)
imagegrabwindow — Captures a window
Beschreibung
resource imagegrabwindow
( int $window
[, int $client_area
] )
Grabs a window or its client area using a windows handle (HWND property in COM instance)
Parameter-Liste
- window
-
The HWND window ID
- client_area
-
Include the client area of the application window
Rückgabewerte
Returns an image resource identifier on success, FALSE on failure.
Fehler/Exceptions
E_NOTICE is issued if window_handle is invalid window handle. E_WARNING is issued if the Windows API is too old.
Beispiele
Beispiel #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");
?>
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");
?>
Anmerkungen
Hinweis: This function is only available on Windows.
imagegrabwindow
Xeon
29-Sep-2007 08:01
29-Sep-2007 08:01
nico ->atdot
29-Sep-2007 08:37
29-Sep-2007 08: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.
