W
wealsh
Unregistered / Unconfirmed
GUEST, unregistred user!
procedure GetImgData(pBufByte); pBuf 为位图返回的数据,大小为:宽度*高度*颜色位数 div 8 当 dwColor 为 16 时返回的是 555位图 ,设置为 16 或 24 以下方式显示正常。 如果设置为 4 或 8 显示就不正常了。 当取位4色时缓冲长度为64字节,当取8位色时缓冲长度为1024字节。 请问 BtimapInfo 还需要设置哪些参数?或是用其它方法? 谢谢。 var BitmapInfo:TBitmapInfo; dwColor:=24; with BitmapInfo.bmiHeader do begin biSize := SizeOf(TBitmapInfoHeader); biWidth := xxxxWidth; biHeight := xxxHeight; biPlanes := 1; biBitCount := dwColor; biCompression := BI_RGB; end; SetDIBitsToDevice(Form1.Canvas.Handle, xxxRect.Left, xxxRect.Top, xxxWidth, xxxHeight, 0, 0, 0, xxxHeight, pBuf, BitmapInfo, DIB_RGB_COLORS);