009
12.04.2004, 15:09 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft... (Operator)
|
eventuell gehts so ohne das zu testen einfach so ins forum gehackt... anzahl der bytes die du brauchst ist ja irgendwie länge mal breite * faktor wobei faktor wiedegibt wie bytes ein pixel einnimmt... das können 4 byte sein... das kann aber auch nur 1 bit sein by sw-bitmaps musst du mal die headerstruktur anschauen da sollte das drinstehen... bie der breite musst du eventuell auch noch was draufschlagen... ich glaub das muss immer durch 4 bytes teilbare breite sein, wenn packt der die fehlende einfach sinnlosss (vermutlich nullen) dazu musst du also eventuell um einen offset vergrössern
C++: |
CString szFilename="Test.bmp"; int bytes,offset=0; //probier mal aus was du da ggf für ein offset nehmen musst ich würds erstmal mit 0 probieren double factor=1;// das musst du irgendwie herausbekommen wieviele bytes ein pixel sind CBitmap pic; BITMAP bild_header; HBITMAP hBmp = (HBITMAP)::LoadImage(NULL,szFilename, IMAGE_BITMAP, 0, 0,LR_LOADFROMFILE|LR_CREATEDIBSECTION); pic.Attach(hBmp); pic.GetBitmap(&bild_header); //der ist nur damit du nach dem auslesen weisst wie gross breit usw... dein bild ist...
bytes = pic.GetBitmapBits(hBmp ,bild_header.(bmWidth+offset)*bild_header.bmHeight*factor,bild);
|
-- ...fleißig wie zwei Weißbrote |