Hallo, ich möchte kleine BMP-Grafiken, die ich z.B. mit Windows-Paint zeichne, in Initialisierungs-Code für C-Programme umwandeln, sodaß diese Grafik mit einem AVR-Controller auf ein Grafik-LCD (128*64 mit Toshiba T6963-Controller) ausgegeben werden kann. Kennt jemand einen solchen Converter? Oder hat einen? Evt. wäre auch Delphi-Quellencode zum Selber-Anpassen interessant. Vielen Dank. Günter
@fred: Habe mir Gimp 2.2 intalliert, kann aber keine Option zum Export finden. Kannst Du mir weitere Tipps geben? Danke. @Olaf: Habe nach XV gesucht; will's zunächst mit Gimp versuchen, wenn ich von fred etwas höre; komme darauf zurück. Günter
Hi, meinst du vielleicht das XPM format? Wenn ja, dann lade das .bmp file in GIMP und speicher es als .xpm wieder ab. Gruß, Daniel
einfach speichern unter, dann kannst du bei dateiendung .c .h auswählen
@Jörn Kaipf: DANKE! Das ist genau das, was ich suchte. Das Programm von Holger Klabunde funktioniert perfekt und bringt das ideale Format (u.a. für AVR, sogar an ProgMem hat er gedacht). Nochmals danke. @fred und Sebastian Heyn: Danke auch an euch; mit Gimp funktioniert es zwar ("Speichern unter..." und dann ".c" auswählen), aber Gimp schreibt RGB-Daten, die man so kaum im uC verarbeiten kann. Das Programm von Holger Klabunde ist besser geeignet (seine Page ist sehr lesenswert). Danke an alle!
Also XV haette es dir direkt in einem C-Source abgespeichert den du so wie er ist includen kannst. Und da es ausserdem noch ein guter Grafikeditor ist haettest du da vorher noch beliebige Aenderungen vornehmen koennen. Garnicht davon zu reden das es mehr einlesen kann als doofe BMPs Olaf
@Olaf: Danke für den Hinweis. Ich kenne XV bislang nicht. "bmp2c.exe" von Holger Klabunde macht das allerdings auch. Ein Problem bei beiden ist indessen, daß speziell für den T6963 ein Modus mit Font 6*8 existiert, bei dem von einem Grafik-Byte nur die untersten 6 Bits in das LCD ausgegeben werden; die oberen 2 Bits werden ignoriert; darauf nimmt "bmp2c" bislang keine Rücksicht. Man kann den T6963 zwar im 8*8-Font betreiben (das wird der Normalfall sein), da geht das wunderbar, allerdings sind dann nur 16 Text-Zeichen/Zeile möglich, wenn man den internen CG verwendet. Manche Applikation (wie meine aktuelle) brauchen aber mehr; bei 6*8 gibt es 21 Zeichen/Zeile, das brauche ich und muß somit mit der Unbequemlichkeit des Grafik-Modus leben. Wenn also ein BMP-C-Konverter darauf Rücksicht nehmen soll, muß er die Grafik-Bits anders anordnen bzw. ausgeben. Das kann XV wahrscheinlich nicht, oder doch?
Du musst beim ausgeben der Daten doch sowieso umrechnen weil die Konverterprogramme nie wissen wo deine Pixel so liegen. Es gibt z.B Leute die der Meinung sind das 0,0 links oben und andere das 0,0 links unten zu sein hat. Oder was ist wenn du das Display in einer Anwedung mal hochkannt nutzen moechtest. Was XV noch kann ist z.B dithern. Also aus Farbgrafik immer noch huebsche zweifarbige SW-Grafik runterrechnen. Hier ist uebrigens die Homepage von dem Programm: http://www.trilon.com/xv/ Olaf
Hallo, ich muss diesen thread noch einmal hoch holen, da ich genau vor dem Problem stehe, dass die umgewandelten BMPs nicht richtig angezeigt werden. Ich nutze die Lib hier aus dem Forum. Bette die .c und die .h vom Bild ein und versuche mit : glcd_show (test,0,128); das Bild einzubetten. Alles was herauskommt ist Pixelsalat. Weiss jemand zufällig wo mein Fehler liegt? Vielen Dank
Es gibt komprimierte und unkomprimierte BMP Dateien. Vermutlich ist das Programm zu blöd, um mit komprimierten klarzukommen.
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.