You must say:"Yes" or "All right"! 注册 | 登陆

PHP使用GD库实现截屏


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

1. 截取整个屏幕 Screenshot

PHP代码
  1. <?php   
  2. $im = imagegrabscreen();   
  3. imagepng($im"myscreenshot.png");   
  4. ?>  

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

PHP代码
  1. <?php   
  2. $browser = new COM("InternetExplorer.Application");   
  3. $handle = $browser->HWND;   
  4. $browser->Visible = true;   
  5. $im = imagegrabwindow($handle);   
  6. $browser->Quit();   
  7. imagepng($im"iesnap.png");   
  8. $im = imagegrabscreen();   
  9. ?>  

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

PHP代码
  1. <?php   
  2. $browser = new COM("InternetExplorer.Application");   
  3. $handle = $browser->HWND;   
  4. $browser->Visible = true;   
  5. $browser->Navigate("http://www.kalvin.cn/");   
  6.     
  7. /* Still working? */  
  8. while ($browser->Busy) {   
  9.     com_message_pump(4000);   
  10. }   
  11. $im = imagegrabwindow($handle, 0);   
  12. $browser->Quit();   
  13. imagepng($im"iesnap.png");   
  14. ?>  

4. 截取IE的全屏模式 IE in fullscreen mode

PHP代码
  1. <?php   
  2. $browser = new COM("InternetExplorer.Application");   
  3. $handle = $browser->HWND;   
  4.     
  5. $browser->Visible = true;   
  6. $browser->FullScreen = true;   
  7. $browser->Navigate("http://www.kalvin.cn/");   
  8.     
  9. /* Is it completely loaded? (be aware of frames!)*/  
  10. while ($browser->Busy) {   
  11.     com_message_pump(4000);   
  12. }   
  13. $im = imagegrabwindow($handle, 0);   
  14. $browser->Quit();   
  15. imagepng($im"iesnap.png");   
  16. ?>  

上面就是说如何使用PHP COM调用IE窗口打开网页进行截屏,但很多朋友得到的结果只是一张纯黑的图片,这是为什么呢?

可能有两种情况,第一种情况就是这个COM组件只适用于WINDOWS服务器,其它系统的服务器是不支持的,因为他没有IE浏览器,第二种情况就是没有打开允许服务与桌面交互!其中第二种情况最为常见,打开的方法就是点击计算机(我的电脑) -> 右键 -> 管理 -> 服务和应用程序 -> 服务 -> Apache(我自己使用apache服务器) -> 右键 -> 属性 -> 登录 -> 登录身份下面既是!

Tags: php, gd

« 上一篇 | 下一篇 »

只显示10条记录相关文章

发表评论

评论内容 (必填):