程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php---PHP使用GD庫實現截屏

php---PHP使用GD庫實現截屏

編輯:關於PHP編程

PHP使用GD庫實現截屏
PHP5.2.2以上版本的GD庫實現了兩個截屏函數 imagegrabscreen 和 imagegrabwindow
分別用於截取整個屏幕和截取某個窗口(同ALT+PrintScreen)的屏幕。
1. 截取整個屏幕 Screenshot
<?php
$im  =  imagegrabscreen () ;
imagepng ( $im ,  " myscreenshot.png " ) ;
?>
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 () ;
?>
3. 截取IE內容 Capture a window (IE for example) but with its content!
<?php
$browser  =  new   COM ( " InternetExplorer.Application " ) ;
$handle  =  $browser -> HWND ;
$browser -> Visible  =  true ;
$browser -> Navigate ( " http://www.21andy.com/blog/ " ) ;
 
/* Still working? */
while   ( $browser -> Busy )   {
     com_message_pump ( 4000 ) ;
}
$im  =  imagegrabwindow ( $handle ,  0 ) ;
$browser -> Quit () ;
imagepng ( $im ,  " iesnap.png " ) ;
?>
4. 截取IE的全屏模式 IE in fullscreen mode
<?php
$browser  =  new   COM ( " InternetExplorer.Application " ) ;
$handle  =  $browser -> HWND ;
 
$browser -> Visible  =  true ;
$browser -> FullScreen  =  true ;
$browser -> Navigate ( " http://www.21andy.com/blog/ " ) ;
 
/* 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 " ) ;
?>
I use Internet Example Explorer as example, if you like to play more with IE and com, check out the IBrowser2 documentation at MSDN. It should work with any kind of window as long as you give the correct handle (usually $obj->HWND).
* php_gd2.dll for 5.2.x thread safe build
* php gd image documentation
* IE manual (useful to tweak it from com_dotnet
 
在測試過程中我並沒有出現手冊中說的那種效果,而是一張純黑的圖片,這是為什麼呢?
可能有兩種情況,第一種情況就是這個COM組件只適用於WINDOWS服務器,因為他沒有IE浏覽器;第二種情況就是沒有打開允許服務與桌面交互!其中第二種情況最為常見(默認是關閉的),打開的方法:點擊計算機(我的電腦) -> 右鍵 -> 管理 -> 服務和應用程序 -> 服務 -> Apache -> 右鍵 -> 屬性 -> 登錄 -> 選中允許服務與桌面交互。

如果是第二種情況的話,我安裝的是apache集成包,這樣的話就找不到apache的服務在哪裡,所以第二種方法的設置我沒有成功,如有成功者,希望指點一下。

 

摘自  張大鵬
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved