Tipps und Tricks zu Perl und CPAN-Modulen

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.

Gruß,
Renée

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


Kommentar abgeben