您的位置:首页 > 编程语言 > PHP开发

WIN32,GetBitmapBits与GetPixel

2017-03-15 11:58 344 查看
先看看MSDN上的,

The GetBitmapBits function copies the bitmap bits of a specified device-dependent bitmap into a buffer.

LONG GetBitmapBits(

  _In_  HBITMAP hbmp,

  _In_  LONG    cbBuffer,

  _Out_ LPVOID  lpvBits

);

hbmp [in]
A handle to the device-dependent bitmap.

cbBuffer [in]
The number of bytes to copy from the bitmap into the buffer.

lpvBits [out]           A pointer to a buffer to receive the bitmap bits. The bits are stored as an array of byte values
获取位图数据,并将数据拷贝到缓冲区中(第三个参数),位图数据是跟具体设备相关的。一般获取的位图数据为32位,如果将其保存为jpg的话,需要转换成24位的才行,某些开源看暂时不支持32的rgb空间位图。

GetPixel:

The GetPixel function retrieves the red, green, blue (RGB) color value of the pixel at the specified coordinates.

COLORREF GetPixel(

  _In_ HDC hdc,

  _In_ int nXPos,

  _In_ int nYPos

);

获取点(x,y)下的像素值。

两者均可以获取图像数据,但是GetBitmapBits要比GetPixel快至少10倍,所以当频繁读取具体像素值时,最好用GetBitmapBits。以前做过一个项目,创建一个位图,然后在上面绘制文本,然后把结果保存为图片,这时,采用GetBitmapBits拷贝数据。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  win32 位图 图像处理