MFC CImage 读取图像 像素

来源:互联网 发布:ff14捏脸数据分享龙女 编辑:程序博客网 时间:2024/05/01 03:00

参考链接:

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);    }


0 0
原创粉丝点击