我正在尝试将 hBitmap 转换为字节数组,但我不想使用单元 Graphics 中的 TBitmap。我的输入图像是 128x64x32bit。
var TheBits: array of array of Cardinal;
begin
with info.bmiHeader do begin
biWidth:=131;
biHeight:=64;
biSize:=SizeOf(TBITMAPINFOHEADER);
biCompression:=BI_RGB;
biBitCount:=32;
biPlanes:=1;
biSizeImage:=0;
end;
DC := CreateCompatibleDC(0);
SetLength(TheBits, 128, 64);
GetDIBits(DC, BmpHandle, 0, 64,@TheBits[0][0],Info,DIB_RGB_COLORS);
这给了我一个很好的图像(当然是颠倒的),但我不得不将 131 放入 biWidth 中,这对我来说真的没有意义。为什么不能是128?