imagegrabwindow
Сентябрь 19, 2007Вот какая мощная функция есть в >= 5.2.2 под виндой
imagegrabwindow - делает скриншот окна приложения. возвращает идентификатор изображения или false при неудачной попытке.
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://jeka911.wordpress.com");
/* Still working? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
И получается скриншот сайта с php.
Опа, какой мощный комментарий от nopox’a:
Первый нах! :)
Субъективное мнение: COM суть зло, ибо неуниверсально и привязано к платформе. Хотя, с другой стороны, эта задача — автоматизированное создание скриншотов сайта — не имеет красивых решений.
Вообще, если кому вдруг понадобится куча скриншотов: для Windows можно использовать утилиту url2bmp (http://www.pixel-technology.com/freeware/url2bmp), которая помимо графического имеет мощный консольный интерфейс.
Для Unix придётся устанавливать X-server, запускать браузер и делать снимок окна посредством import из ImageMagick.
Вообще, наверное, надо взяться и написать универсальный интерфейс, максимально упрощающий и унифицирующий процедуру создания скринов сайта :)
Опубликовал jeka911