【发布时间】:2009-10-08 21:16:35
【问题描述】:
我希望有人可以帮助我和其他许多人解决这个问题......
我想使用php的imagegrabwindow函数部分和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 名称以确保它没有使用黑色缓存图像...仍然没有运气!
【问题讨论】:
-
您要的是 png 还是 jpg?
-
尝试设置标题信息,正如我现在在我的帖子中显示的那样,并直接通过浏览器访问您的 php 文件,看看会发生什么
-
不确定是否有区别,但将标题行放在图像输出之前,即 imagejpeg()
-
也许你需要通过“dcomcnfg”为 InternetExplorer DCOM 对象设置执行权限