This function was painfully slow when I was testing it on my machine. It took about 2 or 3 seconds for it to return an image. It also fails to work if the Apache service doesn't have access to "Interact with the desktop".
imagegrabwindow
(PHP 5 >= 5.2.2)
imagegrabwindow — Bir pencereyi yakalar
Açıklama
Bir pencere tanıtıcısı (pencerenin COM örneğinin HWND özelliği) kullanarak bir pencerenin tamamının veya sadece içinin görüntüsünü yakalar.
Değiştirgeler
- pencere
-
Görüntüsü yakalanacak pencerenin COM örneğinin HWND özelliği.
- istemci_alanı
-
Pencerenin istemci alanı.
Dönen Değerler
Hata oluşursa FALSE aksi takdirde bir resim tanıtıcısı ile döner.
Hatalar/İstisnalar
pencere geçersiz bir tanıtıcı içeriyorsa bir E_NOTICE, Windows API çok eskiyse bir E_WARNING çıktılanır.
Örnekler
Örnek 1 - imagegrabwindow() örneği
Bir pencere yakalamak için (örneğin IE):
<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>
Bir pencerenin sadece içeriğini yakalamak için (örneğin IE):
<?php
$browser = new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");
/* Hala çalışıyor mu? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>
Notlar
Bilginize: Bu işlev sadece Windows üzerinde kullanılabilir.
imagegrabwindow
30-Sep-2007 03:01
29-Sep-2007 03:37
If you just want to take a screenshot of a website WITHOUT the ugly IE window around it, the easiest way is setting the "Fullscreen" property to TRUE.
$browser->Fullscreen = true;
This is basically the same as pressing F11 once the browser is open, so you just get the actual website.
