Entwickler-Ecke
Multimedia / Grafik - RGB565 Daten mit Hilfe von GetDIBIts auslesen
Bergmann89 - Di 03.07.12 15:18
Titel: RGB565 Daten mit Hilfe von GetDIBIts auslesen
Hey Leute,
ich versuch grad verzweifelt die Daten einer TBitmap im RGB565-Format auszulesen. Folgender Code kommt dabei zum Einsatz:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| FillChar (bInfo, SizeOf(bInfo), 0); with bInfo.bmiHeader do begin biSize := SizeOf(bInfo.bmiHeader); biWidth := bmp.Width; biHeight := -bmp.Height; biPlanes := 1; biBitCount := 16; biCompression := BI_BITFIELDS; end; with bInfo.bmiColors[0] do begin rgbRed := $F800; rgbGreen := $07E0; rgbBlue := $001F; end; buffer := GetMem(bmp.Width * bmp.Height * 4); try if GetDIBits(bmp.Canvas.Handle, bmp.Handle, 0, bmp.Height, buffer, bInfo, DIB_RGB_COLORS) = 0 then raise Exception.Create(format('unable to read bitmap data. error code: %d', [GetLastError]));
finally Freemem(buffer); end; |
So bekomm ich die Daten im RGB555 Format, obwohl ich ja die Bitmaske angegeben hab. In der Doku steht das es eig. so gehen müsste und ich hab auch bei google nix zu dem Problem gefunden. In jedem Thread den ich gefunden hab scheint das so zu gehen, wie es soll. Nur bei mir nich :/ Wär super, wenn ihr mir da weiter helfen könntet.
MfG & Thx Bergmann.
Bergmann89 - Di 03.07.12 16:42
Hey,
die G-Maske war n Typo, jetz is sie richtig^^ Ich weiß das du mir das gesagt hast, aber ich will es trotzdem mit den GDI Funktionen machen, weil ich denke das dort das Blendending un der ganze Kram über die MMX Befehle laufen, und die sollten schneller sein, als direkt in Software.
Der 2. Kommentar is intressant, aber dafür brauch ich auch erstma nen AVI-Stream, oder liegen bei dem Pointer nur die Rohdaten?
Der 3. Kommentar is auch intressant. Er mein, dass es nich geht, weil die gespeicherte Größe am Anfang des Records falsch ist. Also hab ich mal ein BitmapV4Header gebaut, aber damit gehts trotzdem nicht :(
MfG Bergmann.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!