首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么获取BMP文件的实际数据并转换为byte

2012-01-06 
如何获取BMP文件的实际数据并转换为byte ?我用HBITMAPhBitmap(HBITMAP)LoadImage(NULL,c:\ico.bmp ,IMA

如何获取BMP文件的实际数据并转换为byte ?
我用
HBITMAP   hBitmap   =   (HBITMAP)   LoadImage(NULL,   "c:\ico.bmp ",   IMAGE_BITMAP,   0,   0,   LR_LOADFROMFILE   |   LR_CREATEDIBSECTION   |   LR_DEFAULTSIZE);
加载了一个图片,接下来想将其转换为BYTE用于处理
但是Hbitmap仅仅是句柄,那么我应该如何根据句柄获取位图的实际数据呢?

刚解除图形图像处理,还请大家多多帮助,可以的话,请给出例子,不胜感激

[解决办法]
int GetDIBits(
HDC hdc, // handle to DC
HBITMAP hbmp, // handle to bitmap
UINT uStartScan, // first scan line to set
UINT cScanLines, // number of scan lines to copy
LPVOID lpvBits, // array for bitmap bits
LPBITMAPINFO lpbi, // bitmap data buffer
UINT uUsage // RGB or palette index
);

[解决办法]
不知道这是不是答案
BITMAP bm ;

pBitmap-> m_hObject = (HBITMAP) LoadImage(NULL, "c:\ico.bmp ", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION | LR_DEFAULTSIZE); //加载图片

pBitmap -> GetObject(sizeof(BITMAP), &bm) ;

unsigned char *pc = new unsigned char[bm.bmheight * bm.bmWidthBytes];

GetBitmapBit(bm.bmheight * bm.bmWidthBytes, px) ;

热点排行