[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: convert: uncompressed BMP with depth=1?



Hallo Uwe,

eines habe ich schon herausgefunden: Ich bräuchte bei convert auf jeden Fall "+compress". Das aber nur als Randnotiz, das hilft bei meinem speziellen Fall noch nicht viel.

Am 02.11.2014 11:19, schrieb Uwe Kleine-König:
Der Fehler "no valid BMP file" passiert, wenn:

 - die ersten zwei Byte != (0x42, 0x4d) sind; oder
 - der Wert an Offset 0xa als little endian interpretiert (oben:
   0x0000003e = 62) größer als 74 oder kleiner als 54 ist.

Ich vermute bei Dir ist er größer als 74, richtig?

Ja, ist er. Allerdings ändert es auch nichts, wenn ich mich mit ghex darin rumspiele.

Weiter habe ich jetzt nicht recherchiert, aber ich vermute, diesen Wert
hast Du mit Imagemagick nicht im Griff und musst ein anderes Programm
finden (zur Not einen Hexeditor). Alternativ die (künstliche)
Beschränkung mit der 74 im Programm wegprogrammieren.

Danke für die vielen Tipps, Du hast mir die relevanten Codezeilen sehr gut erklärt! :-)

Da ich etwas Zeit und Lust hatte, habe ich mir die common_write_simplebmp() Funktion noch genauer angesehen. Denn die damit geschriebene BMP-Datei akzeptiert das Programm ohne zu Meckern. Ich habe dann versucht das mit PHP nachzubauen, da das BMP-Format nicht so schwierig zu verstehen ist und ich schon lange etwas ähnliches testen wollte. Herausgekommen ist eine PHP-Portierung der genannten Funktion inklusive Online-Tool zum direkten Verwenden. PNG/GIF/JPG Bild rein, BMP für das sdcmegtron_tool raus: http://www.blog.happytec.at/index.php?mode=view&id=359

Das ist jetzt sicher nicht die schönste Lösung, aber mir hat es geholfen, ich habe gleich ein wenig was dazu gelernt und eventuell hilft es irgendjemanden weiter, der einmal auf diese Diskussion stößt. Falls jemand noch eine bessere Lösung parat hat, wäre ich natürlich trotzdem dankbar. Auch wenn das heißt, dass ich mir die Arbeit eventuell umsonst gemacht habe…

--
Mit freundlichen Grüßen
Christian Schrötter


Reply to: