var bitmap win.BITMAP
win.GetObject(win.HGDIOBJ(hBitmap), unsafe.Sizeof(bitmap), unsafe.Pointer(&bitmap))
var bmpInfo win.BITMAPINFO
bmpInfo.BmiHeader.BiSize = uint32(unsafe.Sizeof(Info.BmiHeader))
....................Width = width
....................Height = height
....................Planes = 1
....................BitCount = 24
....................Compression = win.BI_RGB
var hdc win.HDC
hdc = win.GetDC(0)
win.GetDIBits(hdc, bitmap, 0, uint32(bitmap.BmHeight), bitmapInfo, nil, 0)
pBits := make([]byte, imageSize)
win.GetDIBits(hdc, bitmap, 0, uint32(bitmap.BmHeight), bitmapInfo, (*byte)(unsafe.Pointer(&pBits)), 0)
使用包github.com/lxn/win
首先,在获取GetDIBits函数之前,我们已经完成了所有的工作。
之后,我终于尝试使用 GetDIBits 函数获取图像数据,但它一直返回 0。
我将 pBits 的数据类型更改为“unsafe.Pointer”或“* byte”并尝试过,但它返回 nil 或 0。
如何从 GetDIBits 函数中获取图像数据?
慕婉清6462132
慕桂英4014372
随时随地看视频慕课网APP
相关分类