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: > eines Programmes zur Wandlung von jpg zu bmp das kann z.B. IrfanView, oder Gimp, oder fast jedes andere Grafikprogramm.
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.
● J-A V. schrieb: > Suchst Du nach Cliparts? Er könnte alles und nichts suchen. Denn Dunkel sind seiner Worte Sinn.
Suche so was. Es stellt eine Uhr dar.
1 | const uint8_t uhr_bmp[] PROGMEM = |
2 | {
|
3 | 25, 32, |
4 | 0,128,224,112, 56, 28, 12, 6, 6, 3, 3, 3, 59, 3, 3, 3, |
5 | 6,134,204, 28, 56,112,224,128, 0,254,255, 1, 16, 16, 16, 0, |
6 | 0, 0, 6, 12, 24, 48, 24, 12, 6, 3, 1, 0, 16, 16, 16, 1, |
7 | 255,254, 0, 3, 15, 28, 56,112, 96,192,192,128,128,128,184,128, |
8 | 128,128,192,192, 96,112, 56, 28, 15, 3, 0, 0, 0, 0, 0, 0, |
9 | 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, |
10 | 0, 0, 0, 0 |
11 | };
|
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 |
7 | drwxr-xr-x 3 root root 4096 Okt 17 2017 Bright |
8 | ... |
> LG Heinz
Schmatzende Küsse, c.m.
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?
:
Bearbeitet durch User
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"?
Milo schrieb: > Na komm, so viel Hirnakrobatik ist das nun auch wieder nicht. > > > Die "Zahlen" sind die Dezimaldarstellung der ein bzw. ausgeschalteten > Pixel. https://66.media.tumblr.com/tumblr_lzjxv5KCT11qzaxefo1_500.gif
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?
Alt aber gut: https://www.holger-klabunde.de/demos/demos.htm Dort BPM2C :-) oder auch hier Beitrag "BMP/JPEG/GIF/PNG nach C-Code konvertieren" oder ... Google ist da übrigens hilfreich :-)
:
Bearbeitet durch User
Ein wenig Informationen findest Du unter: https://de.wikipedia.org/wiki/Windows_Bitmap Warscheinlich im englischsprachigen Teil noch besser.
Thomas W. schrieb: > Oder als PGM in ASCII exportieren, das ergibt auch die pixel als integer > zahlen. Oder in XBM bzw. XPM konvertieren. Das ist dann sogar direkt C-Code. https://en.wikipedia.org/wiki/X_BitMap https://en.wikipedia.org/wiki/X_PixMap
Heinz, hast Du schon geschrieben, wofür DU es brauchst? Welche HW, welches Display? s/w? Fertige SW?
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
:
Bearbeitet durch User
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.
https://coconauts.net/blog/2015/01/19/easy-draw-bitmaps-arduino/ https://blog.squix.org/2015/05/esp8266-nodemcu-how-to-create-xbm.html
Heinz schrieb: > Damit kann ich ein bmp einfach entwerfen, z.B. ein Smily.
1 | const uint8_t smiley[] PROGMEM = { |
2 | 32, 32, |
3 | 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0x38, 0x18, |
4 | 0x0c, 0x0e, 0x06, 0x06, 0x03, 0x03, 0x03, 0x03, |
5 | 0x03, 0x03, 0x03, 0x03, 0x06, 0x06, 0x0e, 0x0c, |
6 | 0x18, 0x38, 0x70, 0xe0, 0xc0, 0x00, 0x00, 0x00, |
7 | 0xf0, 0xfe, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x18, |
8 | 0x3c, 0x7e, 0x7e, 0x3c, 0x18, 0x00, 0x00, 0x00, |
9 | 0x00, 0x00, 0x00, 0x18, 0x3c, 0x7e, 0x7e, 0x3c, |
10 | 0x18, 0x00, 0x00, 0x00, 0x03, 0x0f, 0xfe, 0xf0, |
11 | 0x0f, 0x7f, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x30, |
12 | 0x70, 0xe0, 0xc0, 0xc0, 0x80, 0x80, 0x00, 0x00, |
13 | 0x00, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, |
14 | 0x30, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x7f, 0x0f, |
15 | 0x00, 0x00, 0x00, 0x03, 0x07, 0x0e, 0x1c, 0x18, |
16 | 0x30, 0x70, 0x60, 0x61, 0xc1, 0xc3, 0xc3, 0xc3, |
17 | 0xc3, 0xc3, 0xc3, 0xc1, 0x61, 0x60, 0x70, 0x30, |
18 | 0x18, 0x1c, 0x0e, 0x07, 0x03, 0x00, 0x00, 0x00, |
19 | };
|
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
@"Heinz" alias "Ein Wiesbegieriger" Bitte innerhalb eines Threads den Namen beibehalten. Nutzungsbedingungen:
1 | Ebenso nicht erlaubt ist: |
2 | - ... |
3 | - Beteiligung an einer Diskussion unter verschiedenen Namen |
:
Bearbeitet durch Moderator
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
:
Bearbeitet durch Admin
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.
:
Bearbeitet durch Moderator
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.
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.