Hallo Leute
habe ein paar Stunden mit der suche eines Programmes zur Wandlung von
jpg zu bmp zugebracht. Muss jetz aber feststellen, es ist nicht das was
ich suche.
Ich suche einfach ein bmp mit einfachen Bildern drauf die oftmals in
Programmen verwendet werden.
Gibt es ein Seite/Bibliothek mit fertigen Bildern oder Beispielen dazu?
LG Heinz
Heinz schrieb:> Ich suche einfach ein bmp mit einfachen Bildern drauf die oftmals in> Programmen verwendet werden.
?!?
Die siehst du doch auf deinem Bildschirm, einfach ScreenPrint = Druck
nutzen, schon hast du deine BMP.
Etwas tiefergehend in allen Auflösungen und mit Maske bekommst du die
Bilder, in dem du mit einem Resource Tool wie ResHacker in die EXE-Datei
des gewünschten Programms guckst, von dort kannst du auch die BMP
exportieren.
Aber es sind nicht deine Bilder, sondern die hat der Programmentwickler
designt nud sie unterliegen seinem Copyright. Sie nützen dir also für
deine Programme nichts. Die Bitmaps für "Datei speichern" , "Drucken"
etc. die Microsoft in seinen Programm-Samples bereitstellt kannst du
aber verwenden, Microsoft freut sich wenn du konsistent mit deren
Vorschlägen bleibst und der Benutzer freut sich auch wenn er was
wiedererkennt.
Heinz schrieb:> Hallo Leute> habe ein paar Stunden mit der suche eines Programmes zur Wandlung von> jpg zu bmp zugebracht. Muss jetz aber feststellen, es ist nicht das was> ich suche.> Ich suche einfach ein bmp mit einfachen Bildern drauf die oftmals in> Programmen verwendet werden.> Gibt es ein Seite/Bibliothek mit fertigen Bildern oder Beispielen dazu?> LG Heinz
Spezifiziere "Bilder in Programmen"?
Meinst Du jetzt Icons und Symbole, die Du auf einem Grafikdisplay
anzeigen willst?
Oder Icons, die in Anwendungen mit grafischer Oberfläche verwendet
werden?
Beides gäbe es ja zuhauf im Netz zu finden. Die Suchmaschine Deines
Vertrauens hilft Dir da sicher weiter.
Nahezu beliebige Grafikformate in BMP konvertieren kannst Du mit z.B.
ImageMagick oder Gimp oder sogar Windows Paint oder eines der ca. 1
Million anderen Grafikprogrammen, die es so gibt.
Je nachdem, was Du damit anschließend vor hast, musst Du eventuell
Farbtiefe, Auflösung, etc. beachten.
Es geht nicht darum Bilder in bmp zu wandeln, sondern um einfache Bilder
di man z.B. auf einem Graphik Display anzeigen kann. Es sollen einfach
die Schaltzustände oder Bedienungen mit einfachen Bildern angezeigt
werden.
Wenn ich die Erklärungen im Netz bisher richtig verstanden habe, hat die
Uhr die Grösse von 25 x 32 Pixel. Leider komme ich mit dem Rest nicht
klar.
Habe im Netz auch den Versuch einer Erklärung gefunden wie man von Hand
sowas erstellen kann.
LG Heinz
Heinz schrieb:> Hallo Leute> habe ein paar Stunden mit der suche eines Programmes zur Wandlung von> jpg zu bmp zugebracht.
Hier. Das "wandelt" nicht nur, sondern fügt auch zusammen - ich gehe mal
davon aus, das du sowas willst wie oben im Bild gezeigt…? Wird glaub ich
z.b. bei der Webentwicklung benutzt wenn man die Anzahl der Requests
reduzieren will.
1
man convert
2
NAME
3
convert - convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on,
4
flip, join, re-sample, and much more.
> Ich suche einfach ein bmp mit einfachen Bildern drauf die oftmals in> Programmen verwendet werden.> Gibt es ein Seite/Bibliothek mit fertigen Bildern oder Beispielen dazu?
Desktop Icons. Such danach und nach der jeweiligen Lizenz.
1
@orin:/usr/share/themes$ ls -la
2
insgesamt 96
3
drwxr-xr-x 22 root root 4096 Mai 3 2018 .
4
drwxr-xr-x 321 root root 12288 Jul 29 12:58 ..
5
drwxr-xr-x 4 root root 4096 Mai 3 2018 Adwaita
6
drwxr-xr-x 4 root root 4096 Mai 3 2018 Adwaita-dark
Heinz schrieb:> Leider komme ich mit dem Rest nicht klar.
Ich befürchte, du kommst mit einer Menge noch nicht klar.
Denn die Bitmaps für s/w LCD machen sich die meisten Leute in
minutenschnelle selbst.
Dazu lesen sie aber erst, welchen Datenformat die DotMatrix benutzt,
beispielsweise in dessen Datenblatt, passen ihr Bild in
Binärrepräsentation darauf an, und wissen, mit welcher Programmfunktion
sie das Bild auf das Display übertragen, da gibt es welche die es an
jeder x,y Stelle ablegen können (Blitter) und welche die es nur an
passenden Grenzen ablegen können so daß man eventuell mehrer
Binärrepräsentationen braucht je nach der Stelle an der das Bild auf dem
Display erscheinen soll.
All diese Grundlagen fehlen dir, du musst also noch viel lesen. Merke
dir vor allem: Es gibt keine universelle Lösung, sondern es ist von
Hardware zu Hardware leicht unterschiedlich. Man kann ein Beispiel von
einer anderen Hardware meist nicht 1:1 übernehmen.
Heinz schrieb:> Suche so was. Es stellt eine Uhr dar.const uint8_t uhr_bmp[]> PROGMEM => {> 25, 32,
[... gefolgt von 100 Bytes...]
> };> Wenn ich die Erklärungen im Netz bisher richtig verstanden habe, hat die> Uhr die Grösse von 25 x 32 Pixel. Leider komme ich mit dem Rest nicht> klar.
100 Bytes sind 4x25 Bytes. 1 Byte hat 8 bits, und 4x8 ist 32.
Leuchtet schon was?
Coreld Draw Cliparts z.B, Konvertierren mit dem konstelosen super Toll
Xnview,d as ich generell empfehlen kann, das Programm nutze ich schon
sei 384 oder 486 Zeiten, ist ein ACdsee Imitat nur free
Startet sehr fix
Heinz schrieb:> habe ein paar Stunden mit der suche eines Programmes zur Wandlung von> jpg zu bmp zugebracht.Heinz schrieb:> Es geht nicht darum Bilder in bmp zu wandeln
Du solltest an Deinem Wortschatz arbeiten. Das hilft dann auch bei der
Suche nach Lösungen.
:/
Eric B. schrieb:> 100 Bytes sind 4x25 Bytes. 1 Byte hat 8 bits, und 4x8 ist 32.> Leuchtet schon was?
Es dämmert schon mehr, der Durchbruch fehlt aber. Besonders der
Zusammenhang mit den Bits und Bytes. Kannst du mir eine Stelle zum lesen
empfehlen?
Heinz schrieb:> 0,128,224,112, 56, 28, 12, 6, 6, 3, 3, 3, 59, 3, 3, 3,> 6,134,204, 28, 56,112,224,128, 0,254,255, 1, 16, 16, 16, 0,
Wie kommen dabei diese Zahlen zustande?
Heinz schrieb:
> hat die Uhr die Grösse von 25 x 32 Pixel.
Eric B. schrieb:
> 100 Bytes sind 4x25 Bytes. 1 Byte hat 8 bits, und 4x8 ist 32.> Leuchtet schon was?
Na komm, so viel Hirnakrobatik ist das nun auch wieder nicht.
Die "Zahlen" sind die Dezimaldarstellung der ein bzw. ausgeschalteten
Pixel.
Ein komplettes Byte auf 0 bedeutet also, dass alle 8 Bits dieses Bytes 0
sind - und damit auch die 8 pixel, die sie repräsentieren, aus sind.
Eine 255 bedeutet, dass alle 8 Bits in diesem Byte auf 1 sind und damit
auch alle 8 zugehörigen Pixel eingeschaltet sind.
Milo schrieb:> Heinz schrieb:>> hat die Uhr die Grösse von 25 x 32 Pixel.>> Eric B. schrieb:>> 100 Bytes sind 4x25 Bytes. 1 Byte hat 8 bits, und 4x8 ist 32.>> Leuchtet schon was?>> Na komm, so viel Hirnakrobatik ist das nun auch wieder nicht.
Wie nennt sich das was du da gerade machst?
"Betreutes Entwickeln"?
Falls du für einen Arduino so C-Arrays von Bildern brauchst,
das kann Gimp !
Bild erstellen und dann exportieren als "C-Quelltext".
Oder als PGM in ASCII exportieren, das ergibt auch die pixel als integer
zahlen.
Thomas
@Eric B.
... das war die Antwort auf die Frage des TO:
Heinz schrieb:> Heinz schrieb:>> Wie kommen dabei diese Zahlen zustande?
da er es ja offenbar ja nicht verstanden hat.
Der Erklärungsversuch war nicht an Dich gerichtet...
Brachst Du nur eine Beispieldatei, sollte sogar Paint, zum erstellen,
ausreichen.
Bedenke aber, dass Bitmap nicht gleich Bitmap ist. Selbst bei gleicher
Größe gibt es noch 'nen Haufen Unterschiede. Vor allem durch die
variable Farbtiefe. Zweifarbig, über (klingt komisch) Schwarzweiß bis
zum vollen Farbprogramm. Das geht auch in die Größe von ansonsten gleich
großen Bildern ein.
Seit nett zu einander. Es freut mich wenn einige das schon wissen. Ich
muss leider fragen um es zu verstehen.
Danach sagen die ersten beiden Zahlen aus wie gross das bmp ist. In
diesem Fall dann 25 waagerecht und 32 senkrecht.
In der ersten Zeile stehen 25 Zahlen von 0 bis 255. Diese geben den
Zustand der Bits/Byte an. Jede Zahl in der ersten Zeile steht für 8
Pixel senkrecht.
Je nach Zahl nehmen diese senkrechten 8 Bite eine Zahl an die angeben ob
das Pixel ein- oder ausgeschaltet ist.
Da von haben wir insgesamt 4 Reihen mit jeweils 25 Zahlen.
Sehe ich das so richtig?
MaWin schrieb:> Die siehst du doch auf deinem Bildschirm, einfach ScreenPrint = Druck> nutzen, schon hast du deine BMP.
Hi,
nur der Vollständigkeit halber:
Bei vielen Windows-Versionen wird beim Speichern Button Betätigen nach
Print Screen automatisch ein *.png Format ausgewählt. Das hat man wohl
deswegen so gemacht, weil *.png gegenüber *.bmp schon wesentlich weniger
Speicherplatz belegt.
So pauschal kann man das also nicht sagen.
Hängt von der Einstellung von Paint ab.
Der TO meint aber was ganz anderes.
A. S. schrieb:> Heinz, hast Du schon geschrieben, wofür DU es brauchst?>> Welche HW, welches Display? s/w? Fertige SW?
ciao
gustav
Wenn das gesagte so stimmt, dann kann ich annehmen das die Grösse des
BMP von mir bestimmt werden kann. In der waagerechten gebe ich die
Anzahl vor. In der senkrechten muss es immer durch 8 teilbar sein, so
wie 8, 16, 24, 36.
Damit kann ich ein bmp einfach entwerfen, z.B. ein Smily.
Hi
Nun, soweit ich gelesen habe, will er es. Kann es sein, Achim, das du
hier einfach nur mit einem anderen Namen auftauchst? Bei MakerConnekt
ist die gleiche Fragestellung. Nix für ungut, aber da solltest du schon
bemerkt haben, das du keine Bildumformatierung willst, sondern einen
Editor (?), um eine Pixelgrafik zu erstellen. Danach kann man aber auch
suchen, oder man fotografiert irgendwas, konvertiert zu es BMP und passt
es dann dem Display an.
Gruß oldmax
Das Beispiel mit dem Smiley funktioniert ohne Probleme.
Ich suche keinen Editor um Bilder mit 1024x512 in Farbe zu erstellen.
Es sollen nur so kleine Smiley mit 16x16 bis 32x32 in S/W sein. In einem
Teil stehn so kleine Wolken mit Regen oder Sonne drin, so etwas. Es
sollen einfach bestimmte Zustände durch kleine BMP angezeigt werden.
Heinz schrieb:> Es sollen nur so kleine Smiley mit 16x16 bis 32x32 in S/W sein.
So einen Editor kann man notfalls sogar mit Excel bauen.
Ist aber auch in jeder Hochsprachen-IDE mit grafischem GUI-Designer
ruckzuck selbstgebaut.
Weil das so einfach ist, gibt es vermutlich viele Tausende derartiger
Lösungen...
Hi
Und Paint geht nicht? Die angehängte Grafik ist Paint und in Monochrome
BMP gespeichert und relativ schnell erstellt. Wobei die gepunkteten
Linien nur zur Hilfe für den zur Verfügung stehenden Bereich (32x25
Pixel) eingezeichnet sind.
Gruß oldmax
Heinz schrieb:> Ich suche keinen Editor um Bilder mit 1024x512 in Farbe zu erstellen.> Es sollen nur so kleine Smiley mit 16x16 bis 32x32 in S/W sein.
Ein Grafikeditor, der 1024x512 in Farbe kann, kann i.Allg. auch 16x16
bis 32x32 in S/W. Man muss das Bild nur etwas zoomen, damit man die
Einzelpixel besser trifft.
Ein (kleines) Problem sehe ich eher darin, die Bilder in das von der von
dir genutzten DOG-Bibliothek erwartete Format zu bringen, das sich von
den gängigen Bitmapformaten darin unterscheidet, dass ein Byte nicht 8
horizontal nebeneinander, sonder 8 vertikal übereinander liegende Pixel
repräsentiert.
Den Smiley von oben habe ich mit Inkscape aus ein paar Kreis(bög)en
zusammengesetzt, als PNG exportiert, in Gimp geladen, dort binarisiert
und um 90° rotiert (wegen der Byteorientierung), als XBM exportiert und
mit ein paar Python-Anweisungen die Bytes in die richtige Reihenfolge
gebracht. So arg produktiv ist das leider nicht :)
Hatte nicht erwartet das so aufwendig ist, Danke für deine Mühe.
Aus dem gesagten ergeben sich wieder neue Fragen.
- Hat das DOG ein anderes Format als andere Displays?
- Lohnt der Aufwand mit dem ganzen zoomen und so dann überhaupt?
- Gibt es irgendwo Beispiel für so was einfaches oder lieber selbst
erstellen?
Martin V. schrieb:> Und Paint geht nicht? Die angehängte Grafik ist Paint und in Monochrome> BMP gespeichert und relativ schnell erstellt. Wobei die gepunkteten> Linien nur zur Hilfe für den zur Verfügung stehenden Bereich (32x25> Pixel) eingezeichnet sind.
bei einer Aktion, die viel mit Warterei verbunden war
(der Rechner war zu 99,?% nur Windows und ohne Web-Anschluss)
hab ich mir auch mal diverse Zeichen in Paint erstellt...
für so'n Kleinkram hat MS-Paint für mich die beste Bedienperformance.
Andere Prog ochsen sich da ja aber mal richtig einen bei ab.
Yalu X. schrieb:> So arg produktiv ist das leider nicht :)
Naja, man könnte auch ein kleines Python Script erstellen was PNG ins
Zielformat konvertiert. Und man könnte dieses dann in make integrieren.
Dann könnte man bequem sein Grafikprogramm nutzen und ohne Ablenkung
fröhlich entwickeln.
Ist halt einmal der Aufwand notwendig. Muss man halt abschätzen ob es
sich lohnt.
In dem Programm das ich nutze um Schaltbilder zu erstellen sind viele
Schaltzeichen schon vorgegeben. Andere habe ich selber erstellt um si zu
nutzen. Es geht dabei nicht um Schaltzeichen, sonder um so kleine Bilder
auf dem display, das mir sagt "Pumpe eingeschaltet" bei max. Grüsse von
32x32 Pixel oder kleiner. In vielen Programmen und Datein habe ich sowas
im Netz gefunden. Sind leider nicht in bmp oder viel zu gross oder in
Farbe. Das einzige gute dabei ist, das ich sie als Anregung nehmen kann
und dann halt selber was mache.
Danke für eure Hilfe
LG (Heinz)
test schrieb:> Yalu X. schrieb:>> So arg produktiv ist das leider nicht :)>> Naja, man könnte auch ein kleines Python Script erstellen was PNG ins> Zielformat konvertiert. Und man könnte dieses dann in make integrieren.
Stimmt (s. Anhang).
Man braucht dazu Python 3
https://www.python.org/
und Pillow
https://python-pillow.org/
Aufruf mit
1
img2dog.py <imagefile> <varname> <cfile>
bzw.
1
python img2dog.py <imagefile> <varname> <cfile>
imagefile:
Bilddatei in einem von Pillow unterstützten Format
https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html
bspw. PNG, BMP oder TIFF. Der Hintergrund sollte dabei hell, die
gezeichneten Symbole dunkel sein. Transparenz sollte nicht verwendet
werden.
varname:
Der Name des uint8_t-Arrays im generierten C-Quelltext.
cfile:
Datei, in die der generierte C-Quelltext geschrieben wird.
Ich habe mal den schönen Mosfet von ● J-A V. herausgepickt (nmos.png)
und daraus die Datei nmos.c generiert mit
1
img2dog.py nmos.png nmos nmos.c
Das Programm ist sehr einfach gestrickt und verzichtet deswegen
weitgehend auf Fehlerbehandlungen. Wer möchte, darf diese gerne
hinzufügen :)
Heinz, vielleicht kannst du das nmos.c mal auf deinem Display anzeigen
lassen, um zu sehen, ob alles in Ordnung ist. Ich selber habe leider
keine Möglichkeit, das zu testen.
Hallo
habe deine Daten für das Display eingegeben. Das Bild korrekt
dargestellt. Ist aber relativ gross geworden. Bei Python muss ich mich
raushalten, keinerlei Ahnung da von.
LG Heinz
Heinz schrieb:> habe deine Daten für das Display eingegeben. Das Bild korrekt> dargestellt.
Danke, dann scheine ich zumindest nicht allzu viel verbockt zu haben :)
> Ist aber relativ gross geworden.
Ja, es liegt außerhalb der von dir gewünschten 16×16 bis 32×32, und du
suchst ja auch keine Schaltzeichen. Es ging mir dabei auch eher darum,
das Programm an einem Beispiel ohne Symmetrien zu testen.
> Bei Python muss ich mich raushalten, keinerlei Ahnung da von. LG Heinz
Du musst es ja auch nicht verstehen, kannst es aber anwenden (wenn du
möchtest). Alternativ kannst du deine mit Paint (oder einem anderen
Tool) gemalten Bildchen in der gewünschten Größe hier hochladen. Wenn
ich Zeit habe, generiere ich dir dann daraus die C-Dateien.