Probleme mit Image::Magick
sprain
- perl
Hallo,
Nach langem Versuchen ist mir eingermassen gelungen, das Modul Image::Magick zu installieren (Mac OS 10.2, Apache-Server).
Nun habe ich aber trotzdem ein Problem. Schaut euch doch mal das folgende Skript an:
#!/usr/bin/perl
use Image::Magick;
$bildzumlesen = "/Pfad/Zum/Bild/test.jpg";
$im_medium = Image::Magick->new(magick=>'JPG');
open(DATA, "$bildzumlesen");
$im_medium->Read(file=>DATA);
close(DATA);
($im_width, $im_height, $colorspace) = $im_medium->Get ('width','height','colorspace');
So, wenn ich nun die ausgelesenen Daten ausgebe, dann steht da:
$colorspace = 'RGB'
$im_width =
$im_height =
Warum sind $im_width und $im_height leer? Liegts am Skript? Oder habe ich evtl. das Modul noch nicht sauber installiert?
Würde mich freuen über einen Tipp!
Gruss, sprain
Halihallo sprain
open(DATA, "$bildzumlesen");
$im_medium->Read(file=>DATA);
close(DATA);
($im_width, $im_height, $colorspace) = $im_medium->Get ('width','height','colorspace');
Warum sind $im_width und $im_height leer? Liegts am Skript? Oder habe ich evtl. das Modul noch nicht sauber installiert?
Hm. Könnte mir denken, dass es daran liegt, dass du den Dateihandler nicht auf binmode gestellt hast (JPEGs sind bekanntlich keine Textdateien):
open(DATA, "$bildzumlesen");
binmode(DATA);
^^^^^^^^^^^^^^
$im_medium->Read(file=>DATA);
close(DATA);
wobei ich dann auch nicht verstehe, warum er colorspace ausgibt... Naja, vielleicht ist colorspace ganz am Anfang des Headers, der noch korrekt eingelesen wird.
Viele Grüsse
Philipp
Hallo Philipp
Hm. Könnte mir denken, dass es daran liegt, dass du den Dateihandler nicht auf binmode gestellt hast (JPEGs sind bekanntlich keine Textdateien):
open(DATA, "$bildzumlesen");
binmode(DATA);
^^^^^^^^^^^^^^
$im_medium->Read(file=>DATA);
close(DATA);
Danke für deinen Tipp, aber so gehts leider auch nicht. Hat vielleicht jemand noch eine Idee?
Gruss, sprain
Halihallo sprain
Hm. Könnte mir denken, dass es daran liegt, dass du den Dateihandler nicht auf binmode gestellt hast (JPEGs sind bekanntlich keine Textdateien):
open(DATA, "$bildzumlesen");
binmode(DATA);
^^^^^^^^^^^^^^
$im_medium->Read(file=>DATA);
close(DATA);
Danke für deinen Tipp, aber so gehts leider auch nicht. Hat vielleicht jemand noch eine Idee?
To read an image in the GIF format from a PERL filehandle, use:
$image = Image::Magick->new; open(IMAGE, 'image.gif'); $image->Read(file=>\*IMAGE); close(IMAGE);
'*' fehlt (Referenz auf den Handler!). Schau dir mal:
http://www.imagemagick.org/www/perl.html an.
Viele Grüsse
Philipp
Auch hallihallo :-)
'*' fehlt (Referenz auf den Handler!). Schau dir mal:
Danke für den Tipp.
Habe übrigens in der Zwischenzeit rausgefunden, dass es mit gifs geht, baer mit jpgs nicht. Bin nun am installieren von libjpeg & co, dann klappt hoffentlich auch das.
Danke für deine Hilfe!
Gruss, sprain