imagegrabwindow

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

imagegrabwindowCaptura uma janela

Descrição

imagegrabwindow(int $handle, bool $client_area = false): GdImage|false

Captura uma janela ou sua área de cliente usando um manipulador do Windows (propriedade HWND na instância COM)

Nota:

Esta função está disponível apenas no Windows.

Parâmetros

handle

O ID da janela HWND.

client_area

Inclui a área de cliente da janela da aplicação.

Valor Retornado

Retorna um objeto de imagem em caso de sucesso, false em caso de falha.

Erros/Exceções

E_NOTICE é emitido se handle for um manipulador de janela inválido. E_WARNING é emitido se a API do Windows for muito antiga.

Registro de Alterações

Versão Descrição
8.0.0 Em caso de sucesso, esta função retorna agora uma instância de GDImage; anteriormente, um resource era retornado.
8.0.0 client_area agora espera um valor do tipo bool; anteriormente era esperado um valor do tipo int.

Exemplos

Exemplo #1 Exemplo de imagegrabwindow()

Captura uma janela (IE por exemplo)

<?php
$browser
= new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$im = imagegrabwindow($handle);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Captura uma janela (IE por exemplo) mas com seu conteúdo

<?php
$browser
= new COM("InternetExplorer.Application");
$handle = $browser->HWND;
$browser->Visible = true;
$browser->Navigate("http://www.libgd.org");

/* Ainda funcionando? */
while ($browser->Busy) {
com_message_pump(4000);
}
$im = imagegrabwindow($handle, 0);
$browser->Quit();
imagepng($im, "iesnap.png");
imagedestroy($im);
?>

Veja Também

add a note add a note

User Contributed Notes 1 note

up
4
nico ->atdot
16 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