2009-03-09 5 views

Répondre

4

Alors que vous pourriez être en mesure de faire quelque chose avec imagegrabscreen ou imagegrabwindow vous seriez seulement en mesure de l'utiliser sur une boîte Windows, et même alors, ce serait difficile.

Vous devez ouvrir une fenêtre de navigateur à l'URL spécifiée (vous pouvez le faire avec exec) et récupérer une capture d'écran en utilisant les méthodes susmentionnées.

Voici un exemple de la saisie manuelle pour imagegrabwindow:

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

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

Salut Ross, le code ci-dessus donne l'erreur suivante/Avertissement PHP Attention: Module 'gd' déjà chargé dans Inconnu sur la ligne 0 PHP Erreur fatale: exception Uncaught 'com_exception 'with message' Impossible de créer l'objet COM 'InternetExplorer.Application ': l'accès est refusé. ' –

+0

J'ai des problèmes pour faire fonctionner l'imagegrabscreen. Comme je l'ai dit, j'ai seulement copié ce code dans le manuel. Tout ce que je peux suggérer est que vous suivez la note sur http://php.net/imagegrabscreen (en supposant que vous utilisez Apache). – Ross

+0

(Notez que sur Vista permettant la prise en charge du bureau Apache, le redémarrage du service et le serveur ne fonctionne toujours pas) – Ross

1

Site est rendu côté client, alors que PHP et GD sont côté serveur. Vous pouvez également vérifier this website sur. J'espère que cela aide.

+0

Merci pour le lien, cela fonctionne, attendez que HTML5/canvas ne soit pas implémenté. [Cette solution] (http://stackoverflow.com/a/11736196/903186) fonctionne mieux. – Ruut