Forum: Projekte & Code Grafikkonverter Tool für AVR/Mikrocontroller (BMP2C, BMP2ASM, BMP2BASCOM)


von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Das Tool ermöglicht es verschiedene Grafikformate (hängt von System ab 
welche unterstüzt werden) zu laden und mittels z.B. dem Floyd-Steinberg 
Verfahren in Bilder mit geringerer Farbtiefe zu konvertieren.
Außerdem ist es möglich das Bild zu beschneiden, rotieren, und 
skalieren, sowie eine (Graustufen)Farbanpassung vor dem Berechnen 
anzuwenden.

Als Ausgabe stehen verschiedene C-Compiler zur Verfügung (BMP2C) oder 
Assembler (AVR Studio BMP2ASM oder so), außerdem reine Textformate oder 
wieder Binäre Formate (RAW, JPEG, ...)

Für die meisten Formate ist es zudem möglich zu wählen, ob die Ausgabe 
Horizontal oder Vertikal erfolgen soll, ob die Farbtabelle mit 
ausgegeben werden soll, oder das ergebnis LSB oder MSB first gespeichert 
werden soll.

Das Programm ist in Java geschrieben, sollte also unter Windows, Linux, 
Mac, ... lauffähig sein, benötigt wird nur eine Java Runtime Umgebung ab 
Version 1.5 welche kostenlos auf www.java.com runtergeladen werden kann.

Unter vielen Betriebssystemen kann dann das Programm einfach per 
doppelklick gestartet werden, oder aus der Kommandozeile per:
java -jar GrafikConverter_Version1_0.jar

Das Program ist (hoffentlich) größtteils selbsterklärend, viele Optionen 
haben einen erklärenden HoverText.
Anregungen und Vorschläge sind Willkommen, ich habe versucht das 
Programm ausgibig zu testen, trozdem sind Fehler nicht auszuschließen, 
wenn ihr Probleme habt postet sie hier einfach oder wenn euch Fehler 
auffallen.

Theoretisch sind auch andere Ausgabeformate denkbar, aber ich hoffe das 
bisher schon eine breite Palette abgedeckt wird.

edit die jeweils aktuelle Version findet sich hier:
http://laeubi-soft.de/downloads/tools/grafikkonverter-tool-fuer-mikrocontroller.html

von Läubi .. (laeubi) Benutzerseite


Angehängte Dateien:

Lesenswert?

Anbei noch ein Bild des Programms

von Frank (Gast)


Lesenswert?

Ein sehr schönes Programm. Vor allem die Speicherfunktion ist sehr gut 
gelungen. Die Funktionen kann man sich sehr gut erschließen. Läuft bie 
mir unter verschiedenen Windows version, ist sogar Vista kompatibel. 
Wirklich sehr gute arbeit.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Mehr dateiformate werden durch installtion der Advanced Image API 
unterstüzt:
https://jai-imageio.dev.java.net/

von Michael F. (nestandart)


Lesenswert?

kann unter w2k das programm nicht starten...
währe es möglich irgendwie als "normale" programm zu compilieren ? :)
(hab keine lust "Java Runtime Umgebung und Co" zu installieren...)

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ich hab dir daraus eine EXE Datei gemacht aber Java wird trozdem 
benötigt...
Die EXE sollte die JRE Automatisch installieren falls keine gefunden 
wird, ansonsten
einfach www.java.com und da auf den "Java Installieren" Button drücken 
;)

Hier noch der direkte Weg zu mehr Grafikfunktionen (optional): 
http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-windows-i586-jre.exe

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Hab das ganze jezt auch auf meine Internetseite gestellt in beiden 
Versionen:
http://laeubi-soft.de/service/downloads/tools.html

von Sebastian .. (zahlenfreak)


Lesenswert?

Hallo Läubi,

könnte man den Grafik Converter so erweitern, dass man ihn komplett über 
parameter aus der Kommandozeile bedienen kann? Ich hätte ein paar mehr 
bilder zu konvertieren, dann würde ich das einfach als batch oder so 
durchlaufen lassen.
An sich will ich nur mit einer festen Farbtabelle konvertieren und als 
asm-header speichern. Wenn das per Parameter ginge wär ich sehr 
glücklich.

Würde mich sehr freuen, wenn du da was machen könntest.

Gruß, Sebastian

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

prinzipiell ginge das sicherlich, ich werde mal versuchen am WE was zu 
basteln, sollte ich es vergessen schreib mir einfach nochmal eine PN :)

Ich habe eh die Version noch etwas verbessert sodass der Output auch für 
"schräge" Memory Layouts passend ist wi bei den DOGM etc.

von Sebastian .. (zahlenfreak)


Lesenswert?

Cool, das klingt schon mal sehr gut.

Was mir noch eingefallen ist: Ich weiß nicht was einfacher einzubauen 
ist. Aber wenn man so drüber nachdenkt ist die Kommandozeile ja ein 
Umweg. Vielleicht könnte man auch ins Programm selbst eine Funktion 
einbauen, einen ganzen Ordner auf einmal zu konvertieren. Aber mit 
Kommandozeile bin ich schon vollauf zufrieden.

Viele Grüße, Sebastian

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Läubi .. schrieb:
> Ich habe eh die Version noch etwas verbessert sodass der Output auch für
> "schräge" Memory Layouts passend ist wi bei den DOGM etc.
Nachdem ich jetzt endlich jemanden gefunden habe der die neue Version 
getestet habe, ist diese nun auf der Homepage Verfügbar. leider noch 
ohne commandline, ist das noch aktuell?

von Sebastian .. (zahlenfreak)


Lesenswert?

Die Commandline ist nicht mehr ganz so dringend (in den letzten Wochen 
bin ich dank Prüfungszeit eh zu nichts gekommen), aber praktisch wärs 
schon noch. Also wenn du mal bischen Zeit findest wärs schön, wenn du 
das noch implementierst.

Gleich noch Feedback zur V1.1: Bei mir läuft sie nicht. 1.0 läuft 
problemlos, 1.1 beschwert sich, dass ich kein Java installiert hätte 
(ist aber). Hab jetzt leider keine Zeit dem nachzugehen, aber wenn ich 
noch was rausfinde schreib ichs.

Sebastian

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Versuch mal nur die JAR zu starten, liegt ggf. an der EXE Datei ich 
schau  gleich nochmal.

Edit: So neue Version erstellt, war wohl etwas restriktiv in der Angabe 
"kompatibler" JVM Versionen.

von Sebastian .. (zahlenfreak)


Lesenswert?

Danke dir. Die JAR lief dann. In der neuen Version läuft jetzt auch die 
exe wieder. Hab dann auch mal kurz mit rumgespielt: Auf den ersten blick 
scheint alles zu funktionieren. Aber wie gesagt nur kurz angetestet, 
mehr ist zeitlich grad nicht drin.

Sebastian

von Juppo N. (juppo)


Lesenswert?

Moin Moin

Versuche mich an dem Grafik Converter.

Habe ein EA DOG S 102x64 Pixel Display mit ATMEGA68 .

Wie muss ich den Grafik Converter einstellen damit das funktioniert ?

von Läubi .. (laeubi) Benutzerseite


Angehängte Dateien:

Lesenswert?

Juppo Nini schrieb:
> Moin Moin
> Versuche mich an dem Grafik Converter.
> Habe ein EA DOG S 102x64 Pixel Display mit ATMEGA68 .
> Wie muss ich den Grafik Converter einstellen damit das funktioniert ?

Hier die neueste Version runterladen.
http://laeubi-soft.de/downloads/tools/grafikkonverter-tool-fuer-mikrocontroller.html

Das Bild so skalieren das 102x64 raus kommt, Farbreduktion durchführen, 
dann auf speichern und den DogM Filter auswählen (siehe Anhang).

von C. H. (_ch_)


Lesenswert?

Hi Läubi,

du hattest mir per mail mal eine Bug-gefixte Version namens 
"GrafikKonverter2.jar" geschickt. Es ging um nen Bug in der Ausgabe 
MSB/LSB first.
Ist das in der neuen Version 1.1 gefixt, oder muss ich mir die 
Spezialversion noch aufheben?

Gruß,
Christian

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Das sollte behoben sein, probiere es aber vorsichtshalber noch einmal 
aus mit der neuen Version.

von C. H. (_ch_)


Lesenswert?

Scheint verloren gegangen zu sein. Egal ob MSB oder LSB first ausgewählt 
wird, der output ist immer gleich.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

C. H. schrieb:
> Scheint verloren gegangen zu sein. Egal ob MSB oder LSB first ausgewählt
> wird, der output ist immer gleich.
Nun sollte es gefixt sein, habe die Version des DL auch mal auf 1.2 
erhöht um Verwirrung zu vermeiden.

von Peterle A. (Firma: keine) (wanderameise)


Lesenswert?

kann man BMPs von 24 auf 16 bit konvertieren? Beim Floyd 
Steinbergverfahren, bleibt die Farbtiefe bei 24 bit.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Gehen würde das schon, nur was willst du mit den Daten dann anfangen? 
Einfach wieder als 16bit Grafik speichern oder als Array exportieren?

von peterle (Gast)


Lesenswert?

unser system erlaubt nur 16 bit grafiken aus platzgründen, somit muss 
ich 24 bit BMPs konvertieren. ein tool was daraus einen array erstellt 
besitze ich schon.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Die neueste Version unterstützt nun auch das Konvertieren der Daten in 
das Bascom Format.

von Matte (Gast)


Lesenswert?

Hallo Läubi,

ich bin gerade dabei mit einem DOGS-Display zu experimentieren und über 
die Library von Jan M. bin ich auf deinen GrafikConverter gekommen. 
Erstmal ein ganz großes Dankeschön für dieses nützliche Programm.

Allerdings habe ich folgendes Problem:
Wenn ich mein Bild exportiere, kann ich im Speichermenü nicht die 
DOGM-Option wählen. Es erscheint nur "Horizontale Ausgabe" und 
"Vertikale Ausgabe". Ich bin mir ziemlich sicher, dass ich alles so 
gemacht habe, wie du in diesem Post beschrieben hast:
Beitrag "Re: Grafikkonverter Tool für AVR/Mikrocontroller (BMP2C, BMP2ASM.)"

Hast du eine Idee, was ich falsch gemacht habe?


Viele Grüße
Christoph

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Matte schrieb:
> Hast du eine Idee, was ich falsch gemacht habe?

Lad dir nochmal die neue Version runter, ich habe die gerade mal so 
aktualisiert, das die dynamische Erkennung von Pixelfiltern deaktiviert 
wurde, und stattdessen statisch eingefügt (die dynamische Erkennung hat 
wohl eh nie jemand genutzt).
Dann sollte es klappen.

von Matte (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort. Mit dieser Version funktioniert 
es. Super!

Viele Grüße
Christoph

von Mad79 (Gast)


Lesenswert?

Mhh ... ich bekomme es einfach nicht hin ...

habe hier ein dogxl60 mit der libary von jan am laufen...
text funktioniert super ... am display sollte es nicht liegen

versuche nun schon eine weile ein logo von sagen wir 80x80 pixeln 
auszugeben, bekomme aber immer pixelmatsch.

kann mir jemand sagen welche einstellungen beim ea-dog-xl filter nehmen 
soll..
da steht was von 4 graustufen ... wie ist das gemeint?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Wenn die Auflösung des Bildes != der des Displays muss man die Korrekte 
Zeilen/Spaltensteuerung beachten, wie das bei "Jan's libary" ist kann 
ich dir nicht sagen, aber eventuell erst mal mit einem Vollbild 
probieren und schauen welche Farbinformation die lib erwartet.

Mad79 schrieb:
> da steht was von 4 graustufen ... wie ist das gemeint?

d.h. dass das Bild in 4 Graustufen "Farben" kodiert wird, z.B.:
 00 = weiss
 01 = hellgrau
 10 = grau
 11 = schwarz
die Farbzuordnung kann sich aber von Display zu Display natürlich 
unterscheiden, am besten mal ins Datenbaltt und in die Doku der Lib 
schauen.

von Walter T. (nicolas)


Lesenswert?

Hallo Läubi,
danke für Dein nettes Tool, das hat mir gerade den Sonntagvormittag 
erleichtert!

Viele Grüße
Nicolas

von Maddin (Gast)


Lesenswert?

Das Tool ist perfekt. Habe gerade ein S/W Bild auf ein DOGM 128x64 
gezaubert. Mit dem Bascom läuft das jetzt super.

Daaaaanke :-)

von Stefan K. (nukeman)


Lesenswert?

Auch von mir vielen herzlichen Dank für das Tool!
Hab's für ein DG12232 Display von Pollin benutzt (122x32). Mit der 
Einstellung DOGM und MSB voraus, kann ich das generierte Array ohne 
weitere Anpassungen verwenden. Hätte mich Stunden gekostet, da wieder 
selbst einen Konverter für zu schreiben :)

von peter (Gast)


Lesenswert?

ein super konverter. nur eine frage. bei mir wird auf meinem adafruit 
statt einem bild das gleiche bild ganz oft nebeneinander angezeigt.

was muss ich in den einstellungen ändern?

von Georg B. (schorschi)


Lesenswert?

Hallo,
hat zufällig auch Jahre später noch jemand die Möglichkeit mir ein 
Quelle zu nennen wo ich die noch her bekommen kann ?
Auf der Seite von Läubi komm ich nicht weiter

"Grafikkonverter Tool für AVR/Mikrocontroller (BMP2C, BMP2ASM, 
BMP2BASCOM)"

Danke

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Die letzte Version des Tools ist unter folgender URL herunter ladbar:
http://christoph.laeubrich.de/files/uploads/19/grafikkonverterv1_4.zip

Beachtet werden sollte das das Tool nicht weiterentwickelt wurde, ich 
wollte das Tool ggf. auch einmal als Open-Source veröffentlichen, das 
lohnt aber nur wenn es auch genügend Interesse dafür gibt, ich weiss 
nicht in wie fern das ganze noch relevant ist im Zeitalter von 
hochauflösenden LCDs und 32 bit µC :-)

von Georg B. (schorschi)


Lesenswert?

Hallo ich selbst habe in 2014 zuletzt mit der Technik gearbeitet und 
möchte das ganze für einen speziellen Wecker wieder ans Tageslicht 
holen.
Ich möchte nach grober Vorplanung ein DOGM132, ein DOGM128 mit Touch 
zusammen mit einem ATMEGA1284P und einer RTC einsetzen. Das Ganze soll 
zusammen mit einem MP3 Modul zu verschieden Zeiten auch mit 
verschiedenen Songs wecken und zusätzlich als MP3 Player dienen..... So 
viel dazu.

Ich fang halt langsam wieder hobbymäßig an..... so Stück für Stück 
wieder ran tasten.

Danke !!

Gruß
Schorsch

von ROSTAMIYASHAR (Gast)


Lesenswert?

SEHR GEHRRTE DAMMEN UND HERREN;
ICH EINE FRAGE WARUM HABEN SIE GESCHRIBEN,DASS (VISTA) GELUNGET UNS GUT 
.
WEIL WIR NOCH MIR WIN HABEN.DES WEGEN DAS IST FRAGE FUR MICH.
WENN SIE MIR ANTWORTEN DANKE ICH IHNEN .
mit frundlichem grssem.

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.