Forum: Mikrocontroller und Digitale Elektronik bmp Beispieldatei


von Heinz (Gast)


Lesenswert?

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

von ●DesIntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

Suchst Du nach Cliparts?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Heinz schrieb:
> eines Programmes zur Wandlung von jpg zu bmp

das kann z.B. IrfanView, oder Gimp, oder fast jedes andere 
Grafikprogramm.

von MaWin (Gast)


Lesenswert?

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.

von Milo (Gast)


Lesenswert?

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.

von Cyblord -. (cyblord)


Lesenswert?

● J-A V. schrieb:
> Suchst Du nach Cliparts?

Er könnte alles und nichts suchen. Denn Dunkel sind seiner Worte Sinn.

von Heinz (Gast)


Lesenswert?

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

von c.m. (Gast)


Angehängte Dateien:

Lesenswert?

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.

von MaWin (Gast)


Lesenswert?

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.

von Eric B. (beric)


Lesenswert?

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
von Gegeg J. (Gast)


Lesenswert?

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

von Milo (Gast)


Lesenswert?

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.

:/

von Heinz (Gast)


Lesenswert?

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?

von Milo (Gast)


Lesenswert?

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.

von Cyblord -. (cyblord)


Lesenswert?

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

von Eric B. (beric)


Lesenswert?

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

von Thomas W. (goaty)


Lesenswert?

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

von Marek N. (Gast)


Lesenswert?

Imagemagick für Batch in der Kommandozeile.
Irfanview mit Klicki-Bunti.

von Milo (Gast)


Lesenswert?

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

von Sebastian S. (amateur)


Lesenswert?

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.

von Heinz (Gast)


Lesenswert?

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?

von Johann J. (johannjohanson)


Lesenswert?

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
von Sebastian S. (amateur)


Lesenswert?

Ein wenig Informationen findest Du unter:
https://de.wikipedia.org/wiki/Windows_Bitmap
Warscheinlich im englischsprachigen Teil noch besser.

von Johann J. (johannjohanson)


Lesenswert?


von Rolf M. (rmagnus)


Lesenswert?

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

von A. S. (Gast)


Lesenswert?

Heinz, hast Du schon geschrieben, wofür DU es brauchst?

Welche HW, welches Display? s/w? Fertige SW?

von Yalu X. (yalu) (Moderator)


Lesenswert?

Heinz schrieb:
> Sehe ich das so richtig?

Ja.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

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
von Heinz (Gast)


Lesenswert?

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.

von Hilde (Gast)


Lesenswert?


von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

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
};

von Martin V. (oldmax)


Lesenswert?

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

von Ein Wiesbegieriger (Gast)


Lesenswert?

Kann sein, mal darf ja nach Wissen streben

von Yalu X. (yalu) (Moderator)


Lesenswert?

@"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
von Heinz (Gast)


Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

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...

von Martin V. (oldmax)


Angehängte Dateien:

Lesenswert?

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
von Yalu X. (yalu) (Moderator)


Lesenswert?

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 :)

von Heinz (Gast)


Lesenswert?

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?

von ●DesIntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Angehängte Dateien:

Lesenswert?

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.

von test (Gast)


Lesenswert?

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.

von Heinz (Gast)


Lesenswert?

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)

von Yalu X. (yalu) (Moderator)


Angehängte Dateien:

Lesenswert?

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
von Heinz (Gast)


Lesenswert?

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

von Yalu X. (yalu) (Moderator)


Lesenswert?

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