参考链接:
1、http://www.cnblogs.com/lemon0823/archive/2013/03/11/2953551.html
2、https://zhidao.baidu.com/question/423703286.html
void CReadImage2PixDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
//ImageData MyImage = m_ReadImage.readIamge2Data();//读取图像到自定义结构体
//获取设备句柄
CDC *pDC = GetDC();
HDC pHDC = pDC->GetSafeHdc();
//得到当前设备区域
CRect picRect;
GetClientRect(&picRect);
CImage readImage;
readImage.Load(L"C:\\Users\\Administrator\\Desktop\\ReadImage2Pix\\res\\lena.bmp");
//显示未处理前图像
readImage.Draw(pHDC,30,30,190,250);
//对图像进行处理(此处进行平均像素值灰度化)
COLORREF imgColor;
BYTE rgb[3] = {0},avg = 0;
for (int x = 0;x < readImage.GetWidth();x++)
{
for (int y = 0;y < readImage.GetHeight();y++)
{
imgColor = readImage.GetPixel(x,y);
rgb[0] = GetRValue(imgColor);
rgb[1] = GetGValue(imgColor);
rgb[2] = GetBValue(imgColor);
avg = (rgb[0]+rgb[1]+rgb[2])/3;
readImage.SetPixel(x,y,RGB(avg,avg,avg));
}
}
//readImage.Draw(pHDC,picRect);
readImage.Draw(pHDC,290,30,190,250);
}