
Die Hemera Photo-Objects sind günstige und trotzdem einigermaßen qualitativ akzeptable Sammlungen von Photo-Cliparts wie das nebenstehende. Im Zeitschriftenladen bekommt man DVDs mit mehreren tausend Bildern teilweise für deutlich unter 10 . Die Sache hat allerdings einen Haken: die Bilder liegen in einem proprietären Format vor und können unter Linux nicht direkt verwendet werden. Nachdem ich etwas gegoogelt hatte, bin ich auf eine Webseite gestoßen, die das Dateiformat beschreibt und ein leider defektes Perl-Skript zur Dekodierung angibt. Ich habe das Perl repariert und noch ein paar Zwischenschritte aufgenommen:
#!/usr/bin/perl
$name=$ARGV[0];
$size = -s "$name"; open(I, "< $name") || die;
binmode(I);
read(I, $_, $size);
close(I);
$temp = $name;
($j, $p) = /^.{32}(.*)(211PNG.*)$/s;
open(J, ">$temp.jpg") &&
do { binmode(J); print J $j; close J; };
open(P, ">$temp.png") &&
do { binmode(P); print P $p; close P; };
$name =~ s/.hpi//ig;
system("composite -compose CopyOpacity $temp.png $temp.jpg $name.png");
unlink("$temp.png");
unlink("$temp.jpg");
Übergibt man an das Skript eine HPI-Datei konvertiert es diese nach PNG mit Alpha-Channel. Interessant wären jetzt noch die Keyword-Informationen, damit man die Bilder den in der Windows-Software verfügbaren Schlüsselwörtern zuordnen kann. Dann wäre es möglich, auch unter Linux nach Bildern sinnvoll zu suchen. Allerdings sind die Keywords als Binär-Blob auf der Hemera-DVD…keine Ahnung wie man das da rausbekommen könnte…
Nachtrag: Das Skript funktioniert so nur unter Linux und mit installiertem ImageMagick in der neuesten Version. Nehmt einfach eine Ubuntu ;-).
Nachtrag 2: Ups. Ich weiss jetzt, warum Hemera die Bilder nicht direkt mit Alpha-Channel als PNG gespeichert hat, sondern das Bild als JPG und den Alpha-Channel als 8-Bit-PNG: was im Hemera-Format auf eine CD geht, passt im direkten PNG-Format grade mal auf eine DVD. Aus 600 MB HPI-Files werden 3 GB PNGs. Aua..