Home mail me! Syndicate this site using RSS

使用PHP的GD库来实现截屏

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

调用方法也很简单,请看下面两个例子:

1.截取整个屏幕:

<?php
$im = imagegrabscreen();
imagepng($im, "gd_screen.png");
?>

gd_screen

2.截取IE浏览器的内容:

<?php
$ie = new COM("InternetExplorer.Application") or die("Can't start Internet Explorer");
try {
	$handle = $ie->HWND;
	$ie->Visible = true;
	$ie->Navigate("http://www.php.net");
 
	while ($ie->Busy) {
	    com_message_pump(4000);
	}
} catch (com_exception $e) {
	echo $e;
}
 
$im = imagegrabwindow($handle, 0);
imagepng($im, "gd_window.png");
$ie->Quit();
?>

gd_window

Hick said,

July 14, 2007 @ 12:53:07

嘿嘿,这玩意还不错,windows 下命令截图 IE 图的话建议可以看看 url2bmp 。
对了,不知道你用的 WP 啥插件,大概把 Hick 当作 span word 了,郁闷

Justin said,

July 15, 2007 @ 12:15:25

哈哈,只怪垃圾留言太多,一天几千条,不得不采用插件!
采用GD来实现截图在PHP里应该应用不会太多,如果在PHP-GTK里应用就比较实用了.

如果是为了要做成Alexa或Snap那种站的截图的话,还是得采用IEEmbed或MozillaEmbed用C来写个程序,毕竟PHP里太占用资源了,并且效率也不高.

vanni said,

September 12, 2007 @ 09:40:44

我的PHP版本是:5.2.4,GD庫也是5.2.4,可是截出來的卻是一個全黑圖!

小小玩玩 said,

October 25, 2007 @ 00:57:56

同理,一个黑图片,没有演示的效果。

伊文 said,

March 11, 2008 @ 14:08:20

imagegrabscreen只能抓去服务器上的图片,实用性不大了。

RSS feed for comments on this post · TrackBack URI

Leave a Comment

*
To prove that you're not a bot, enter this code
Anti-Spam Image