bmp Beispieldatei

Gast #5926587
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
Gast #5926602
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.
Gast #5926603
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.
Gast #5926626
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
Gast #5926652
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.
Angehängte Dateien:
Gast #5926655
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.
#5926667
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?
Gast #5926679
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
Gast #5926716
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?
Gast #5926729
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.
#5926877
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.
Gast #5926894
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?
#5927609
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
Angehängte Dateien:
Gast #5927783
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.
Moderator #5927864
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
};
Angehängte Dateien:
#5928501
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
Gast #5928558
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.
Gast #5928579
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...
Moderator #5928613
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 :)
Gast #5928638
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?
(Firma: FULL PALATINSK) Persönliche Seite #5928955
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.
Angehängte Dateien:
Gast #5928971
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.
Gast #5929057
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)
Moderator #5929076
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.
Angehängte Dateien:
Moderator #5930224
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren