BMP oder TIF schreiben, 16 Bit
-
Guten Tag liebes Forum,
ich habe Bild-Rohdaten im Hauptspeicher. Diese sind unsigned short, quasi 16 Bit Graustufen.
Ich würde die Bildrohdaten nun gerne in einem validen Datenformat auf die Festplatte schreiben.
Ich suche eine WinAPI Funktion die dafür sehr einfach zu handhaben ist. Zur Erläuterung etwa sowas:
#include <???.h> // welche header ? int BMPspeichern(const unsigned short bilddaten[640*480], int length, char filename, char path);Ich kann mir schon denken das es nicht so einfach geht. Vielleicht könnt Ihr mir ja helfen.
Grüße,
Euer Kevin
-
Genau, so einfach geht es nicht.
-
vielen Dank für den essentiellen Hinweis

-
Steck dir deinen
sonst wohin du Affe. Wenn du explizit nach einer WinAPI Funktion fragst die es nicht gibt... blubb? Vielleicht solltest du erstmal lernen ordentlich Fragen zu stellen...http://freeimage.sourceforge.net/
http://openil.sourceforge.net/Mit der FreeImage sollte das recht einfach und schnell zu erledigen sein, und vor allem unterstützt die auch Bilder mit mehr als 8 bpp.
Tip: die FreeImage Doku findest du auf der HP unter "Developer's Corner" (etwas unüblicher Name, und ich hab das erste mal lange danach gesucht, deswegen erwähne ich das). Und wenn du den C++ Wrapper verwenden willst wirst du trotzdem das PDF für die C-Version brauchen, gewisse enums etc. sind nämlich in der Doxygen Hilfe für den C++ Wrapper nicht dokumentiert.
-
Hmmm... eigentlich sollte es doch ganz einfach gehen:
Einfach nur CreateBitmapIndirect aufrufen und in der BITMAP Struktur das passende Format angeben; und im bmBits einfach auf Deinen Speicherbereich verweisen.
Dann hast Du ein HBITMAP, was Du z.B. via GDI+ in beliebigen Formaten speichern kannst...
-
Bist du sicher dass Windows mit 16 Bit Graustufen klarkommt?
-
hustbaer schrieb:
Bist du sicher dass Windows mit 16 Bit Graustufen klarkommt?
Warum nicht? Hab es aber nicht probiert...