PHP使用GD库实现截屏功能

PHP5.2.2以上版本的GD库实现了两个截屏函数 imagegrabscreen 和 imagegrabwindow
分别用于截取整个屏幕和截取某个窗口(同ALT+PrintScreen)的屏幕。

1. 截取整个屏幕 Screenshot
[php]
<?php
$im = imagegrabscreen();
imagepng($im, "myscreenshot.png");
?>
[/php]

2. 截取一个窗口 Capture a window (IE for example)

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

3. 截取IE内容 Capture a window (IE for example) but with its content!

[php]
<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.abcd9.com/");

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

4. 截取IE的全屏模式 IE in fullscreen mode
[php]
<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;

$browser->Visible = true;
$browser->FullScreen = true;
$browser->Navigate("http://www.abcd9.com/");

/* 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");
?>
[/php]

附加说明:
1、imagegrabscreen和imagegrabwindow只能在windows环境下工作
2、截图黑屏解决办法:web 服务器(iis或apache)做为windows服务时,必须打开”允许与桌面交互”的选项(点击服务属性->登录->勾选”允许与桌面交互”,设置后重启服务生效)。

Leave a Reply

Time limit is exhausted. Please reload CAPTCHA.

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据