Forum: Mikrocontroller und Digitale Elektronik G16-Format: Wandlung in BMP?


von Martin M. (martin69)


Angehängte Dateien:

Lesenswert?

Hallo,

das TFT-Display eDIPTFT43-A liefert bei der Hardcopyfunktion Bilder im 
G16-Format (ein Demobild im Anhang). Es gibt vom Displayhersteller einen 
Bildeditor, mit dem man die Bilder öffnen und als Bitmap (*.BMP) 
speichern kann. Dieser Zwischenschritt ist etwas lästig...

Hat jemand eine Beschreibung, wie dieses G16-Format aufgebaut ist? Ich 
habe im Internet keinen vernünftigen Treffer gefunden. Im 
Editor-Programm wird dieses merkwürdige Format als 
"Bitmap/Animation/Font (*.G16)" angezeigt.

Oder noch besser: hat jemand mal eine Routine geschrieben, mit der man 
das G16-Format in ein BMP konvertieren kann? Ich würde diese gerne in 
meinem ATmega128 laufen lassen, sofern es nicht zu sehr kompliziert ist.

Beim blau-weißen Display vom selben Hersteller habe ich eine Routine 
geschrieben, die das interne BLH-Format in BMP´s konvertiert (siehe 
Anhang).

Gruß
Martin

von holger (Gast)


Lesenswert?

Häng doch mal ein *.G16 mit der konvertierten *.bmp dran.
Vieleicht ist das Format recht einfach zu entschlüsseln.

von Martin M. (martin69)


Angehängte Dateien:

Lesenswert?

anbei die Demodatei als BMP (es handelt sich um ein Demobild des 
Displayherstellers).

von Martin M. (martin69)


Angehängte Dateien:

Lesenswert?

Nachtrag: Das Forumprogramm hat aus dem BMP ein PNG gemacht. Nun das BMP 
als Textdatei (Datei umbenannt)

von holger (Gast)


Lesenswert?

Beim Hersteller steht was vom RLE "Run Length Encoding" Format.
Ist also komprimiert. Das wird dann doch nicht so einfach :(

von Martin M. (martin69)


Lesenswert?

ich habe ein externes RAM auf dem Board, da könnte ich die decodierte 
RLE-Bilddatei zwischenspeichern und anschließend ein BMP draus machen.
Oder wenn das externe RAM nicht groß genug wäre: eine SD-Karte hängt 
auch noch am AVR.

von kleiner hunger (Gast)


Lesenswert?

herstellersoftware installieren. in einem unterverzeichnis ist eine 
textdatei mit der beschreibung des formats

von kleiner hunger (Gast)


Lesenswert?

> eDIPTFT43-A liefert bei der Hardcopyfunktion Bilder im
G16-Format
ist aber nicht mit RLE

von Martin M. (martin69)


Angehängte Dateien:

Lesenswert?

@kleiner hunger:

danke für den Hinweis. Ich hatte nur bei den Beispieldateien geschaut, 
die das Installationsprogramm in "eigene Dateien" ablegt.
Ich habe die Datei mal angehängt. Mal schauen, wie ich das mit der 
Konvertierung im AVR hin bekomme....

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Da du ja nur ein spezielles Format konvertieren willst würde ich es 
folgendermaßen machen:
Ein Bild von Display erzeugen, in BMP wandeln.
Dann jeweils den Header vom Bild wegwerfen (der wird wohl immer gleich 
sein) und für die Konvertierung einfach den header des BMP rauschreiben 
+ der dekomprimierten RLE Daten.

von Martin M. (martin69)


Lesenswert?

Habe es nun fast geschafft:

Die Daten aus dem Display kommen nicht in RLE codiert raus, das macht 
die Sache einfacher. Wenn man eine Zeile scannt, deren Pixelanzahl ein 
Vielfaches von 4 ist, sind die Daten bei BMP und G16 identisch. Man muß 
nur das Bild zeilenmäßig von unten nach oben scannen, da das Bild sonst 
auf dem Kopf steht.

Bisher habe ich folgendes getestet:
* blaues Bild mit ein paar einzelnen farbigen Pixeln auf dem Display 
ausgegeben
* BMP-Header vom AVR auf der Schnittstelle zum PC ausgegeben 
(Längenangaben usw. sind bisher noch fest im Programm hinterlegt)
* die obersten 2 Zeilen "gescannt" und über den AVR auf der 
Schnittstelle zum PC ausgegeben. Die Ausgabe erfolgt direkt, der 
Zwischenschritt über das externe RAM wird nicht benötigt.

Geht bisher prima. Nächstes Wochenende werde ich versuchen, die 
restlichen Zeilen auf der Schnittstelle zum PC auszugeben. Mal sehen wie 
das mit den Farbangaben im Header des BMP ist. Ich befürchte, man muß 
dort alle Farben definieren, die in dem Bild vorkommen.

Nochmals danke für die Hilfen und Tipps.

von iris (Gast)


Lesenswert?

Hallo Martin,
kurze Frage: Hast du die Routine noch irgendwo bzw. stellst du sie zur 
Verfügung? (Welcher Anhang war gemeint?)

Martin M. schrieb:
> Beim blau-weißen Display vom selben Hersteller habe ich eine Routine
> geschrieben, die das interne BLH-Format in BMP´s konvertiert (siehe
> Anhang).

Herzlichen Dank und Gruß,
Iris

von Martin M (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Iris,

mit Anhang habe ich eigentlich das Bild "einstellen_zeiten.png" gemeint 
und nicht den Quellcode.

Das mit dem blauweißen Display ist schon ewig her. Anbei ein Auszug aus 
der Software. Nicht gerade professionell programmiert...

Das Display hat irgend wann mal nicht mehr die Daten einer ganzen Zeile 
ausgespuckt. Ursache war damals total unklar. Daher mußte ich die Daten 
einer Zeile in mehrere Teilstücke zerlegen. Das macht den Quellcode 
nicht gerade übersichtlich.

Soweit ich mich erinnere, muß man erst einen Header auf der 
Schnittstelle ausgeben, dann Zeile für Zeile scannen und ausgeben. 
Wichtig ist, daß es glaub von unten nach oben gescannt wird, sonst steht 
das BMP auf dem Kopf.

Gruß
Martin

von Horst (Gast)


Lesenswert?

herstellersoftware installieren. in einem unterverzeichnis ist eine
textdatei mit der beschreibung des formats

Ist das eine Vermutung oder Tatsache?
Gibt es ein Gesetz welches es verbietet konkrete Informationen zur 
Verfügung zu stellen? Welche Datei in welchem Unterverzeichnis??

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.