以下代码仅适用于 Windows。
<?php
...
$im = imagegrabwindow($handle);
...
imagedestroy($im);
?>
unix(debian)php环境的解决方案是什么,在php cli程序中获取屏幕截图?
以下代码仅适用于 Windows。
<?php
...
$im = imagegrabwindow($handle);
...
imagedestroy($im);
?>
unix(debian)php环境的解决方案是什么,在php cli程序中获取屏幕截图?
所以,听起来你想从 Firefox 捕获屏幕:p。
对于无头服务器,请确保先安装 Xvfb,然后启动它Xvfb :2 -screen 0 1024x768x24&
(当然,您可以根据需要更改显示:2和分辨率1024x768x24)。
运行 Firefox 以在该显示器上打开特定页面。稍等一下,让 Firefox 打开页面,然后执行 a或类似的操作。DISPLAY=:2 firefox http://www.example.com
sleep 10
然后从 ImageMagick 中加入一些“魔法”(当然必须安装)以将屏幕捕获到文件中:import -window root -display :2 example.png
.
现在您的处理乐趣开始了:p。
这是一个将所有内容放在一起的小型 bash 脚本(Xvfb 应该已经在运行以使其工作):
#!/bin/bash
export DISPLAY=":2" /usr/bin/firefox "$1"&
/bin/sleep 10
/usr/bin/import -window root -display :2 "$2"
killall firefox-bin
从 PHP 调用它,并将屏幕截图的 URL 和文件名作为参数提供给它。
顺便说一句,如果您的服务器有 X,您可以跳过 Xvfb 部分并使用正在运行的 X 服务器显示(很可能:0)。