IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

PHP抓屏函数实现屏幕快照

BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog 2010-12-06 21:27:57 累计浏览 4,084 次
本机暂存
* 屏幕快照
$im = imagegrabscreen();
imagepng($im, "myscreenshot.png");
?>

* 抓取一个窗口(IE为例)

$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
$im = imagegrabscreen();
?>

* 抓取IE窗口及窗口内容(IE为例)

$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://blog.thepimp.net");

/* Still working? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
?>

* IE全屏模式

$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;

$browser->Visible = true;
$browser->FullScreen = true;
$browser->Navigate("http://blog.thepimp.net");

/* Is it completely loaded? (be aware of frames!)*/
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
?>

需要说明几点
1.这二种方法只能工作在windows下面,
2.黑屏解决办法--->>web 服务器(iis或apache)做为windows服务时,必须打开"允许与桌面交互"的选项.(点击服务属性->登录->勾选"允许与桌面交互".(一定要记得重起apache或其他的服务器才会有用,我已经成功,无庸质疑)
3.需要gb库版本为2.0.34(php5.2.2默认自带)

同分类推荐文章

  1. Vibe新开源项目 - Vaala AI Gateway (2026-05-17 02:10:19)
  2. SmartPerfetto 架构文章 Q&A:8 个深度技术问答 (2026-04-10 11:00:00)
  3. 让 AI 把我的 PHP 博客重写成 Go (2026-03-27 18:33:54)

查看更多 后端 文章 →

建议继续学习

  1. 使用gettext来支持PHP的多语言 (累计阅读 39,187)
  2. WordPress插件开发 -- 在插件使用数据库存储数据 (累计阅读 29,086)
  3. Paypal接口详细代码(PHP版,非API接口) (累计阅读 19,341)
  4. 我的PHP,Python和Ruby之路 (累计阅读 13,066)
  5. include(“./file.php”)和include(“file.php”)区别 (累计阅读 12,720)
  6. 15个最好的免费开源电子商务平台 (累计阅读 12,461)
  7. Redis消息队列的若干实现方式 (累计阅读 12,002)
  8. 到底什么是MVC? (累计阅读 11,696)
  9. 整理了一份招PHP高级工程师的面试题 (累计阅读 11,448)
  10. Rolling cURL: PHP并发最佳实践 (累计阅读 11,421)