Forum: Mikrocontroller und Digitale Elektronik BMP-nach-C-Code-Konverter


von Günter R. (galileo14)


Lesenswert?

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

von fred (Gast)


Lesenswert?

mit gimp geht das

von Olaf (Gast)


Lesenswert?

XV kann es auch. :-)

Olaf

von Günter R. (galileo14)


Lesenswert?

@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

von Daniel N. (bipak)


Lesenswert?

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

von Jörn K. (joern)


Lesenswert?


von Sebastian Heyn (Gast)


Lesenswert?

einfach speichern unter, dann kannst du bei dateiendung .c .h auswählen

von Günter R. (galileo14)


Lesenswert?

@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!

von Olaf (Gast)


Lesenswert?

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

von Günter R. (galileo14)


Lesenswert?

@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?

von Olaf (Gast)


Lesenswert?

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

von Markus (Gast)


Lesenswert?

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

von MaWin (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.