Hallo Leute Ich arbeite mit einem PIC32 Grafik Demoboard und möchte ein Bild (*.bmp) als c- Source in mein Programm einbinden. Michrochip stellt für die Konvertierung ein tolles Tool "Graphics Rescouce Converter" zur Verfügung. Nun mein Problem. Ich brauche das Bitmap File in folgenden Format: 16Bit Farbtiefe RGB unkomprimiert(!) d.h. ohne RLE Komprimierung. Habe jetzt schon zig Tools (Photoshop, ACDSEE, IrfanView usw.)angeschaut, aber nirgends kann ich die Komprimierung im 16Bit Mode ausschalten. Bin dankbar für jeden Tip. Gruss Andy
Hallo, nimm einfach Gimp. Ein Bild als *.bmp speichern, im Dialog gibt es dann die Einstellungen RGB. Bei 16bit gibt es RGB555 oder RGB565 mfg Rene
Hallo Rene Danke für die Infos. Hab ich leider auch schon probiert. Dort lässt sich die Komprimierung bei 16Bit Farbtiefe leider meiner Meinung nach auch nicht ein- oder ausschalten.
Wenn du das Bidl sowieso laden musst, weißt du auch wie das Format aufgebaut ist. Dann wird es doch auch nicht schwer sein einen Konverter selbst zu programmieren.
beim gimp braucht man auch nicht ausschalten, was nicht eingeschaltet ist. ich verwende die bmp direkt von einer sdkarte, überspringe den header und sende die daten direkt ans display. da ist also wohl keine kompression enthalten, andernfalls wäre das aufgefallen :)
>Wenn du das Bidl sowieso laden musst, weißt du auch wie das Format >aufgebaut ist. Ich hab das so verstanden: Es gibt einen Converter der das BMP (vermutlich) in ein C-Array übersetzt welches dann in ein Projekt eingefügt werden kann. Dieser Converter braucht die Ursprungsdatei aber in einem bestimmten Format (unkomprimiert). >Dann wird es doch auch nicht schwer sein einen Konverter selbst zu >programmieren. Ist aber trotzdem richtig, wer etwas Routine im Programmieren hat sollte keine große Mühe haben ein Tool zu schreiben was die Bitmap(s) "entpackt" (also unkomprimiert speichert). Das Format ist simpel und gut dokumentiert, z.B. in der MSDN Knowledgebase (oder wie das auch genau heissen mag).
Andreas Häusler schrieb: > und möchte ein Bild (*.bmp) als c- Source in mein Programm einbinden. Ein Bild sind daten und kein C-Source. Du liest doch eh das Bild als Datenstrom ein. Wenn da eine RLE Codierung vorliegt, die ist doch im Netz ausreichend dokumentiert und so einfach daß du die beim Senden an das Display ob the fly direkt decodieren kannst. Dann geht auch alles schneller, da von der Karte weniger Daten gelesen werden müssen.
U.R. Schmitt schrieb: > Andreas Häusler schrieb: >> und möchte ein Bild (*.bmp) als c- Source in mein Programm einbinden. > Ein Bild sind daten und kein C-Source. Man kann es aber so verpacken, dass es der Compiler benutzt um damit ein Array zu initialisieren. > Du liest doch eh das Bild als Datenstrom ein. Tut er eben nicht. > Wenn da eine RLE Codierung > vorliegt, die ist doch im Netz ausreichend dokumentiert und so einfach Das allerdings stimmt und für einen Programmierer sollte das eigentlich keine wirkliche Hürde darstellen. Zumal es massenhaft IMage-Bibliotheken gibt, die sowas aus dem Stand heraus lesen können. Wenn es JPG wäre sag ich ja noch nichts, aber BMP mit RLE ist wirklich nicht sehr schwer zu lesen.
Karl heinz Buchegger schrieb: >> Ein Bild sind daten und kein C-Source. > > Man kann es aber so verpacken, dass es der Compiler benutzt um damit ein > Array zu initialisieren. > >> Du liest doch eh das Bild als Datenstrom ein. > > Tut er eben nicht. Ok, jetzt hab ich es gleube ich verstanden. Er will ein spezielles Bild als Konstante in den Speicher legen und von dort einlesen. Gerade dann macht es doch Sinn den benutzten Speicher nicht unnötig aufzublähen. Also los Andreas, keine falsche Scheu und google mal nach RLE, das ist wirklich kein Hexenwerk.
U.R. Schmitt schrieb: > Gerade dann macht es doch Sinn den benutzten Speicher nicht unnötig > aufzublähen. Aber wo er doch so ein schönes Tool von Microchip hat, das ihm den C-Source Code zusammenbaut :-) > Also los Andreas, keine falsche Scheu und google mal nach > RLE, das ist wirklich kein Hexenwerk. Seh ich auch so. Manchmal muss man die Suche nach einem Tool einfach abbrechen und sich sein Werkzeug selber machen. Unterm Strich ist man damit schneller. Und gelernt hat man auch etwas dabei.
Hallo Andy, ist es das was du suchst (Anhang)? Das Programm heißt GraphicConverter, und ist von: http://www.lemkesoft.de/ Die Software läuft allerdings nur auf Apple (Mac OS) Rechnern. Es gibt ein gleichnamiges Programm für Windows: http://www.graphic-converter.net/ Aber ausser dem Namen und dass es auch Bilder konvertiert, hat es mit dem oben angegebenem Programm wohl nicht viel gemein. Ob es damit möglich ist weiß ich nicht. Kannst es ja mal versuchen, falls noch nicht geschehen. Gruß John
Mein Beispielbild Tulpen.bmp wurde automatisch in ein *.png umgewandelt. Ich hab extra eine geringe Auflösung gewählt. Das bmp war 150,1 kB.
Bild mit Gimp laden, als C Source oder Header abspeichern, fertig.
convert (aus Imagemagick) sollte das können (mit -compress none). Ich weiß allerdings nicht, ob es das für Nicht-Unixe gibt.
Hallo. Das Programm, welches Du suchst, heißt Image2Lcd. Das erzeugt aus bmp, gif, whatever einen sourcecode als c-array. Es hat so nette features wie scan mode, bits/pixel und alles was man für die Umwandlung für ein lcd so braucht. Einbinden und fertig. Lt. About-Dialog: This program ist free! Programmiert wurde es von WuBoJian und wurde unter http://www.wbj3000.com irgendwann veröffentlicht. Leider ist die Site down... Das Programm ist Teil einer Suite namens EmbedTools. Du solltest mal nach Embedtools.rar googeln... Grüße, Gunther
Wenn ich so ein Tool brauche nehme ich einfach die Image funktionen von c#. Die öffnen die bekannten Formate. Dann kann man jeden Pixel so setzen oder bearbeiten wie man will. Obwohl c# da eigentlich recht langsam ist, dauern 400 Bilder bei mir nur ein paar Sekunden. In den 6 Stunden die seit deiner Frage vergangen sind, hättest du das sicher selbst hinbekommen. PS: Ich schreib mir meisten solche Tools selber wenn ich sie brauche, z.b. bmp. Bilder in png konvertieren und dabei den 1. Pixel als Transparenz setzen oder Dateien nach einem bestimmten schema umbenennen. Das dann halt für alle Dateien in einem Order.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.