Bildschirmfotos mit Imager::Screenshot
Beitrag von Uwe am 22.01.2007 um 17:56 Uhr | 2 Kommentare
Mit dem CPAN-Modul Imager::Screenshot kann man Bildschirmfotos unter Perl erstellen. Das Modul unterstützt Windows und X11 (ich habe nur X11 ausprobiert).
Im einfachsten Fall exportiert man die Methode screenshot und erhält ein Imager-Objekt zurück. Auf diesen ruft man dann write auf. Das folgende Perl-Skript verdeutlicht dies:
#!/usr/bin/perl use warnings; use strict; use Imager::Screenshot qw(screenshot); $ENV{DISPLAY} = ':0.0'; my $img = screenshot; $img->write(file => $ARGV[0] || 'screenshot.png');
Download: shot.pl
Laßt Euch nicht von dem $ENV{DISPLAY} = ':0.0'; abschrecken. Das brauche ich, damit das Bild vom richtigen X11-Display "geschossen" wird. Wer nur einen Bildschirm angeschlossen hat, kann die Zeile weglassen.
Und damit hat mein altes png-grab.pl ausgedient, denn basierend auf xwd und convert habe ich bisher meine Screenshots erstellt:
#!/usr/bin/perl use warnings; use strict; my $seconds = $ARGV[0] || 2; while (1) { my $file = time; system "xwd -display :0.0 -nobdrs -root -silent " ."| convert - $file.png"; sleep $seconds; }
Download: png-grab.pl
Kommentar abgeben
Das Modul kannte ich bisher nicht. Da ich aber öfters mal Screenshots machen muss, werde ich mir das Ganze mal anschauen.
Kommentar von Renee am 24.01.2007 um 17:21 Uhr
sehr nice! Ich hab es bisher auch immer über xwd gemacht ... was nen Krampf *g*
Kommentar von Sadrak am 23.03.2007 um 14:12 Uhr