PHP 8.1.0 RC 2 available for testing

imagegrabwindow

(PHP 5 >= 5.2.2, PHP 7, PHP 8)

imagegrabwindowBir pencereyi yakalar

Açıklama

imagegrabwindow(int $pencere, bool $istemci_alanı = false): GdImage|false

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.

Bilginize:

Bu işlev sadece Windows üzerinde kullanılabilir.

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 görüntü nesnesi 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.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 Başarı durumunda işlev artık GDImage nesnesi döndürüyor; evvelce resource türünde bir değer dönerdi.
8.0.0 istemci_alanı artık bool tür kabul ediyor; evvelce bu, int idi.

Ö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($handle0);
$browser->Quit();
imagepng($im"iesnap.png");
imagedestroy($im);
?>

Ayrıca Bakınız

add a note add a note

User Contributed Notes 1 note

up
4
nico ->atdot
13 years ago
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.
To Top