(PHP 5 >= 5.2.2, PHP 7, PHP 8)
imagegrabwindow — Захватывает изображение окна
Функция делает снимок окна или его клиентской части через Windows-дескриптор (свойство COM-объекта HWND).
Замечание:
Функция доступна только в ОС Windows.
handleID-идентификатор HWND-дескриптора окна.
client_areaВключает клиентскую часть окна приложения.
Функция возвращает объект изображения, если выполнилась успешно, или false ,
если возникла ошибка.
Функция выдаёт ошибку уровня E_NOTICE выдаётся, если в аргументе handle
передали недопустимый дескриптор окна.
Функция выдаёт ошибку уровня E_WARNING, если API-интерфейс ОС Windows устарел.
| Версия | Описание |
|---|---|
| 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");
?>Захват окна с содержимым, например браузера 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");
?>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.