Moin, Am Mon, 2003-06-23 um 11.22 schrieb Stefan Hundhammer:
On Sunday 22 June 2003 21:54, Joerg Rossdeutscher wrote:
Da auch mal ein Font kaputt ist oder ImageMagick einen Bug hat oder oder oder... kann es sein, daß IM dabei einen Speicherzugriffsfehler erzeugt. Den will und muß ich abfangen (Andere Lösungen wie das Entfernen des kaputten Fonts sind nciht möglich, das zu erklären würde zu weit führen)
Äh - stehe ich auf dem Schlauch? Sehe ich das Problem eigentlich nicht? ImageMagick mit "system" aufrufen und schlicht und einfach den Return-Code auswerten?
Das ruft IM über die Shell auf. Mit der Methode wird die Kiste noch bis zur nächsten Eiszeit rechnen. :-) ImageMagick ist direkt als Per-lModul verfügbar. Etwa so: use Image::Magick; $img=Image::Magick->new( size => '512x512', background => 'white', depth => 8); $img->ReadImage("xc:white"); $img->Annotate( x=> 128, y => 128+256, pointsize => 256, font => $filename, fill => 'black', undercolor => 'white', text => $text ); $img->Quantize( colors => 2, dither => 0); $img->Set( matte => 0); $img->Trim(); $img->Resize( width => 256, height => 256, blur => 0 ); Guck dir mal den "Annotate"-Befehl da oben an. Wenn da $filename auf einen kaputten Font zeigt, dann semmelt das ganze Programm weg. Das muß ich unterbinden, weil das alles in einer Schleife geschieht und drei Tage Rechenzeit hier völlig normal sind. Ich kann nicht jedesmal das Programm neustarten, weil einer von 1000 Fonts kaputt ist. Oder wohlmöglich nicht mal kaputt, sondern IM einen Bug hat. Gruß, Ratti -- -o) fontlinge | Font management for Linux | Schriftenverwaltung in Linux /\\ http://freshmeat.net/projects/fontlinge/ _\_V http://www.gesindel.de https://sourceforge.net/projects/fontlinge/