PHP Conference Nagoya 2025

imagegrabwindow

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

imagegrabwindowCapture une fenêtre

Description

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

Capture une fenêtre ou l'espace de son client, en utilisant un gestionnaire de fenêtre (propriété HWND de l'instance COM).

Note:

Cette fonction n'est disponible que sous Windows.

Liste de paramètres

handle

L'identifiant HWND de la fenêtre.

client_area

Inclure ou non l'espace du client de la fenêtre de l'application.

Valeurs de retour

Retourne un objet image en cas de succès, ou false si une erreur survient.

Erreurs / Exceptions

Une alerte de type E_NOTICE est émise si window_handle est un gestionnaire de fenêtre invalide. Une alerte de type E_WARNING est émise si l'API Windows est trop ancienne.

Historique

Version Description
8.0.0 En cas de succès, cette fonction retourne désormais une instance de GDImage ; auparavant, une resource était retournée.
8.0.0 client_area attend désormais un bool ; auparavant il s'attendait à un int.

Exemples

Exemple #1 Exemple avec imagegrabwindow()

Capture une fenêtre (IE par exemple).

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

Capture une fenêtre (IE par exemple) mais avec son contenu.

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

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

Voir aussi

add a note

User Contributed Notes 1 note

up
5
nico ->atdot
17 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