怎么才能访问彩色位图文件的像素数据啊?用到哪些函数啊?或那些类? 怎么才能访问彩色位图文件的像素数据啊?用到哪些函数啊?或那些类? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 BOOL ImageAnalyse(LPCTSTR szBMP){ //加载文件 HANDLE hBitmap = LoadImage (NULL, szBMP, IMAGE_BITMAP,0, 0, LR_LOADFROMFILE); ASSERT (hBitmap != NULL); //关联到位图 CBitmap m_bitmap; m_bitmap.Attach (hBitmap); //获取文件信息 BITMAP bm ={0}; m_bitmap.GetObject (sizeof (bm), &bm); //创建dc设备 HDC hDC = CreateDC(_T("DISPLAY"), 0, 0, 0); CDC dc; dc.Attach(hDC); CBitmap *pOldBmp = dc.SelectObject(&m_bitmap); //Add your code here for(int nRow=0; nRow<bm.bmWidth; nRow++) { for(int nCol=0; nCol<bm.bmHeight; nCol++) { COLORREF color = dc.GetPixel(nRow, nCol); TRACE( _T("RGB(%02X %02X %02X)"), GetRValue(color), GetGValue(color), GetBValue(color)); } TRACE(_T("\n")); } //恢复清理工作 dc.SelectObject(pOldBmp);//恢复位图 dc.Detach(); //解除关联 DeleteDC(hDC); //删除设备 m_bitmap.Detach(); //解除位图关联 DeleteObject(hBitmap); //删除位图 return TRUE;}//test codeImageAnalyse(_T("c:\\temp\\bitmap1.bmp")); CImage载入后,GetBits(),获得指向RGB值的指针,直接访问数据,GetPixel太慢~不建议 GetBitmapBits,建议你去下一个透明度的例子看看就清楚了 建议用OpenCV库,微软支持的开源的图像处理工具 创建多线程做运算,为什么不能把内容显示在控件上 树视图控件 CTreeCtrl 如何判断选中节点处于展开状态 关闭或取消对话框程序崩溃??? 关于配置文件? 哪位高手帮我这个新人解决利用vc在MAPX上画线的问题 50分白拿!谁有英文的vc?我有急事,在线等 怎样导入对话框资源? 这么菜,怎么问得出口? (请教)一组PNG图片存放在一个BSF文件中应该如何读取 程序里的分区到底是怎么分的 询问下如下窗口样式怎么调? Shell扩展中全局变量初始化
BOOL ImageAnalyse(LPCTSTR szBMP)
{
//加载文件
HANDLE hBitmap = LoadImage (NULL,
szBMP, IMAGE_BITMAP,0, 0, LR_LOADFROMFILE);
ASSERT (hBitmap != NULL);
//关联到位图
CBitmap m_bitmap;
m_bitmap.Attach (hBitmap);
//获取文件信息
BITMAP bm ={0};
m_bitmap.GetObject (sizeof (bm), &bm); //创建dc设备
HDC hDC = CreateDC(_T("DISPLAY"), 0, 0, 0);
CDC dc; dc.Attach(hDC);
CBitmap *pOldBmp = dc.SelectObject(&m_bitmap); //Add your code here
for(int nRow=0; nRow<bm.bmWidth; nRow++)
{
for(int nCol=0; nCol<bm.bmHeight; nCol++)
{
COLORREF color = dc.GetPixel(nRow, nCol);
TRACE( _T("RGB(%02X %02X %02X)"),
GetRValue(color), GetGValue(color), GetBValue(color));
}
TRACE(_T("\n"));
} //恢复清理工作
dc.SelectObject(pOldBmp);//恢复位图
dc.Detach(); //解除关联
DeleteDC(hDC); //删除设备
m_bitmap.Detach(); //解除位图关联
DeleteObject(hBitmap); //删除位图 return TRUE;
}//test code
ImageAnalyse(_T("c:\\temp\\bitmap1.bmp"));