Darstellungsfehler bei BMP's ?
Darstellungsfehler bei BMP's ?
Hi,
ich bin gerade dabei, einen kleinen Shooter zu proggen. Dafür habe ich einen Freund aus USA gebeten, mir für den Shooter Grafiken zu machen. Nun hat er mir zum Beispiel diese Datei geschickt:
http://de.geocities.com/basti_2004/ship.bmp (11KB)
Das Sprite ist 50x50 Pixel und 11kb groß.
Dieses Bitmap wird bei mir aber so angezeigt (Selbst bei einer ganz einfachen Schleife, nur mit den nötigsten Befehlen):
http://de.geocities.com/basti_2004/ship_screen.bmp
Nun habe ich einfach das Bild mit IrfanView geladen und unter anderem Namen abegespeichert:
http://de.geocities.com/basti_2004/ship_mod.bmp (8KB)
Und das Bild ist aufeinmel nur noch 8kb groß und es wird korrekt angezeigt. HÄ?!? Warum ist es aufeinmal kleiner, obwohl ich an dem Bild selber gar nichts geändert habe? Ich dachte bei Bitmaps wird einfach Pixel für Pixel die Farbinformation abgespeichert, ohne ein Kompressionsalgorithmus zu nutzen. Also sollte es doch rein theoretisch gleich groß sein?!? Und Warum funzt es auf einmal richtig bei der Darstellung?
Vielen Dank im Vorraus für eure Hilfe.
mfG
Basti
ich bin gerade dabei, einen kleinen Shooter zu proggen. Dafür habe ich einen Freund aus USA gebeten, mir für den Shooter Grafiken zu machen. Nun hat er mir zum Beispiel diese Datei geschickt:
http://de.geocities.com/basti_2004/ship.bmp (11KB)
Das Sprite ist 50x50 Pixel und 11kb groß.
Dieses Bitmap wird bei mir aber so angezeigt (Selbst bei einer ganz einfachen Schleife, nur mit den nötigsten Befehlen):
http://de.geocities.com/basti_2004/ship_screen.bmp
Nun habe ich einfach das Bild mit IrfanView geladen und unter anderem Namen abegespeichert:
http://de.geocities.com/basti_2004/ship_mod.bmp (8KB)
Und das Bild ist aufeinmel nur noch 8kb groß und es wird korrekt angezeigt. HÄ?!? Warum ist es aufeinmal kleiner, obwohl ich an dem Bild selber gar nichts geändert habe? Ich dachte bei Bitmaps wird einfach Pixel für Pixel die Farbinformation abgespeichert, ohne ein Kompressionsalgorithmus zu nutzen. Also sollte es doch rein theoretisch gleich groß sein?!? Und Warum funzt es auf einmal richtig bei der Darstellung?
Vielen Dank im Vorraus für eure Hilfe.
mfG
Basti
enjoy life... while you can!
- Andre
- PureBasic Team
- Beiträge: 1765
- Registriert: 11.09.2004 16:35
- Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10 - Wohnort: Saxony / Deutscheinsiedel
- Kontaktdaten:
Hast Du Deinen Freund mal gefragt, mit welchem Grafikprogramm er die Dir zugeschickten Dateien erstellt/abgespeichert hat ?
Die unterschiedlichen Dateigrößen beim Bilder speichern habe ich auch schon beobachtet, die kommen auch bei anderen Formaten (JPG, PNG, etc.) vor.
Mit den Hintergründen kenne ich mich jedoch auch nicht näher aus...
Die unterschiedlichen Dateigrößen beim Bilder speichern habe ich auch schon beobachtet, die kommen auch bei anderen Formaten (JPG, PNG, etc.) vor.
Mit den Hintergründen kenne ich mich jedoch auch nicht näher aus...
Re: Darstellungsfehler bei BMP's ?
Das erste Bild wird bei mir in Opera auch fehlerhaft dargestellt (die Mitte liegt an rand und unten ist müll). Dein Freund benutzt ein kompische Zeichenprogramm...
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Es gibt OS/2 BMP und Windows BMP
Könnte mir Vorstellen, es liegt daran.
Könnte mir Vorstellen, es liegt daran.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

1. Danke für die schnellen antworten.
2. Ich habe meinen Freund gefragt, er hat für die Pics Flash MX benutzt.
3. Wenn ich die Pics mit Paint öffne und speicher, bleiben sie gleich und sind immer noch nicht zu gebrauche. Irgendwas muss IrfanView sonderbares machen :P
thx @all
mfG
Basti
2. Ich habe meinen Freund gefragt, er hat für die Pics Flash MX benutzt.
3. Wenn ich die Pics mit Paint öffne und speicher, bleiben sie gleich und sind immer noch nicht zu gebrauche. Irgendwas muss IrfanView sonderbares machen :P
thx @all
mfG
Basti
enjoy life... while you can!
Flash MX zum pixeln? Ist ja was ganz neues :]
Könnte durchaus daran liegen, dass Flash MX etwas komische .bmp dateien erstellt. Ist schließlich eher dazu gedacht .swf zu erstellen.
Könnte durchaus daran liegen, dass Flash MX etwas komische .bmp dateien erstellt. Ist schließlich eher dazu gedacht .swf zu erstellen.
besucht http://www.dark-matter-soft.de
-
Robert Wünsche
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
Ich würde davon abraten, mit flash MX bilder zu speicher.
- ist sau teuer
- ist dafür nicht gedacht
Man kann ja auch ein screenshoot machen und dann das schiff rausschneiten.
Oder man lädt mit paint das normale *.bmp und speichert es dann unter einen anderen namen als *.bmp.
Müsste eigentlich klappen.
Vielleicht giebt es beim bitmap auch eine komprimierung ?
- ist sau teuer
- ist dafür nicht gedacht
Man kann ja auch ein screenshoot machen und dann das schiff rausschneiten.
Oder man lädt mit paint das normale *.bmp und speichert es dann unter einen anderen namen als *.bmp.
Müsste eigentlich klappen.
Vielleicht giebt es beim bitmap auch eine komprimierung ?
- NicTheQuick
- Ein Admin
- Beiträge: 8812
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Vielleicht solltest du dir nochmal Punkt 3 von ptIs Pist durchlesen.Robert Wünsche hat geschrieben:Oder man lädt mit paint das normale *.bmp und speichert es dann unter einen anderen namen als *.bmp.
Müsste eigentlich klappen.
Aber mal eine andere Idee... Vielleicht liegt das Bild von deinem Freund aus irgendeinem ungewöhnlichen Grund im 32-Bit-Format vor und PureBasic kennt das nicht und läd das Bild im 24-Bit-Modus ein oder sowas.
Ansonsten liegt es aber sicherlich an dem von ts-soft geschilderten Problem. Oder nicht?
Wenn man die Software gekauft hat, dann nutzt man sie aberRobert Wünsche hat geschrieben:Ich würde davon abraten, mit flash MX bilder zu speicher.
- ist sau teuer
auch meistens.
Wenn es die Möglichkeit gibt damit Bilder zu erstellen/bearbeiten
(macht sicherlich Sinn für ein Programm in dem man oft eigene
Bilder verwendet), dann wird das wohl so sein.
Selbst bei MS HTML Help Workshop ist ein eigener "HTML Help
Image Editor" dabei (und das obwohl bei jeder Windows-Version
Paint dabei ist), da man oft Bilder in HTML Help verwendet.
Ist also durchaus gängige Praxis das Produkte einen eigenen
Image-Editor mitbringen, wenn dieser gebraucht wird.
Die Firma will ja nicht dem Kunden sagen er soll sich auch
noch einen ImageEditor kaufen, weil er den dauernd zusammen
mit ihrem Produkt braucht.
So wie ein Fehler in der Software möglich ist, ist auch ein
Benutzerfehler (BMP-Format auf OS/2 gestellt) bestimmt
nicht auszuschließen.
Macromedia ist allerdings sehr bekannt und für ihre Produkte
beliebt - so daß man meist davon ausgehen kann das dort
professionelle Programmierer ihre Arbeit machen.
Wer möchte kann sich ja mal die ship.bmp anschauen (Hex-Editor).
Vielleicht ist es wirklich am OS/2-Format und PB unterstützt das
nicht? FireFox zeigt es hier jedenfalls korrekt an und ptI konnte
es auch beheben... also eig. alles in Butter.
[EDIT]
NicTheQuick hat Recht. Ist ein 32-bit BMP, und war früher
meist unüblich. Laut MSDN -> BITMAPINFOHEADER ist
das aber korrekt, d.h. 32-bit BMP sind offiziell erlaubt und
dokumentiert. Das erklärt auch warum es Größer ist als
dann mit 24-bit.
Scheinbar also ein PB-Problem mit 32-bit-BMP?
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
- NicTheQuick
- Ein Admin
- Beiträge: 8812
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Was mich im Hexeditor etwas irritiert hat: Am Anfang steht 654 mal die Bytefolge [c]'0000 00FF'[/c]. Auch weiterhin, wo anscheinend die nicht-schwarzen Bilddaten kommen, steht an vierter Stelle jedesmal dieses 'FF'.
In dem von IrFanView korrigierten Bitmap stehen am Anfang jetzt nur noch Nullen, also '0000 0000' und später steht auch nicht an jeder vierten Stelle ein 'FF' oder '00', sondern jedesmal eben andere Zahl.
Anscheinend ist es wirklich das Verhalten, was ich gemeint habe. Auch der in PB gemachte Screenshot spiegelt das wieder. Bei diesem benötigt ein Pixel nämlich nur 24 Bit und nicht 32 Bit wie es wohl bei dem Flash MX-Bild der Fall zu sein scheint, da sich dort die Bildinformationen anfangs eben alle 4 Bytes wiederholen.
Hat das auch jemand verstanden?
///Edit:
Na da ist mir Danilo jetzt wohl doch noch zuvorgekommen.
In dem von IrFanView korrigierten Bitmap stehen am Anfang jetzt nur noch Nullen, also '0000 0000' und später steht auch nicht an jeder vierten Stelle ein 'FF' oder '00', sondern jedesmal eben andere Zahl.
Anscheinend ist es wirklich das Verhalten, was ich gemeint habe. Auch der in PB gemachte Screenshot spiegelt das wieder. Bei diesem benötigt ein Pixel nämlich nur 24 Bit und nicht 32 Bit wie es wohl bei dem Flash MX-Bild der Fall zu sein scheint, da sich dort die Bildinformationen anfangs eben alle 4 Bytes wiederholen.
Hat das auch jemand verstanden?
///Edit:
Na da ist mir Danilo jetzt wohl doch noch zuvorgekommen.
Zuletzt geändert von NicTheQuick am 07.11.2004 17:12, insgesamt 1-mal geändert.