Bonsoir,

j'ai trouvé ces quelques lignes en page 47 du mag cité en titre, les ai scrupuleusement recopiées, ai vérifié la présence de pnmtopng, ai fait une copie des data brutes (cat /dev/fb0 > ecran.raw) mais il doit rester un problème puisque ça s'exécute plutôt mal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$ ./copiecran.pl 1024 768 < ecran.raw > ecran.png
pnmtopng: 1 colors found
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ cat copiecran.pl
#!/usr/bin/perl -w
$w = shift || 320;
$h = shift || 240;
$pixels = $w * $h;
open OUT, "|pnmtopng" or die "Can't pipe pnmtopng: $!\n";
printf OUT "P6%d %d\n255\n", $w, $h;
while ((read STDIN, $raw, 2) and $pixels--) {
    $short = unpack('S', $raw);
    print OUT pack("C3",
	($short & 0xf800) >> 8,
	($short & 0x7e0) >> 3,
	($short & 0x1f) << 3);
}
close OUT;
Mais le souci, c'est qu'en regardant le contenu de ecran.raw avec un éditeur hexa, tout est à 0. C'est donc ce cat /dev/fb0 > ecran.raw qui ne va pas. Je l'ai testé depuis un terminal sous X mais également dans une console pure, même résultat.

Une idée ? Merci,