Я надеюсь, что есть кто-то, кто может помочь мне и многим другим с этой проблемой...
Я хочу создать скриншот веб-сайта, используя часть функции imagegrabwindow php и библиотеку GD.
Потратив целый день на реализацию кода, я, наконец, могу захватить изображение и сохранить его в файл, но изображение черное, а не то, что я ожидал...
При дальнейшем расследовании я узнал, что одна из причин, по которой изображение черное, заключается в том, что apache не включен для взаимодействия с рабочим столом, и из-за этого создается черное изображение. Проблема в том, что я не использую Apache как сервер. запускаю IIS 6...
Есть ли в службах параметр, который я должен разрешить взаимодействовать с рабочим столом? и если есть, может ли кто-нибудь указать мне правильное направление?
<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Fullscreen = true;
$browser->Navigate("http://localhost/site/advertise/index.asp");
/* Still working? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
imagepng($im, "iesnap6.jpg");
$browser->Quit();
?>
Благодаря ответам ниже я изменил imagepng на imagejpeg, но все равно получаю черное изображение...
imagejpeg($im, "iesnap7.jpg");
Любая помощь приветствуется!
Спасибо
Я изменил код следующим образом: Social Addict по-прежнему не имеет успеха с изображением, отображаемым в черном цвете!
<?php
header('Content-type: image/jpeg');
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://localhost/advertise/index.asp");
/* Still working? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagejpeg($im," file2.jpg");
imagedestroy($im);
?>
Social Addict - я добавил заголовок - я также постоянно меняю имя file1.jpg, чтобы убедиться, что он не использует кэшированные изображения черного цвета ... все еще не повезло!