QQ登录

只需一步,快速开始

121上位机VC MFC图片灰度化效果显示

[ 复制链接 ]

121上位机VC MFC图片灰度化效果显示

121上位机VC MFC图片灰度化效果显示

121上位机VC MFC图片灰度化效果显示
功能展示
图片的灰度化就是把彩色的图片改换为灰白的图片,在图像处理领域这是最为常用的一步,我们当前例程实现了将一位图转换为灰色图片的功能,效果如图;
要点提示
图片的灰度化通常是根据图片中像素的RGB分量来决定RGB各自的权重,我们当前例程随意 设置了RGB的权重为0.39,0.48,0.15; 在知晓权重后我们可以通过指定方式计算得一值,如我们当前例程DWORDgray = (0.39*r+0.48*g+0.15*b); 然后再设置原先像素的颜色值COLORREF color = RGB(gray,gray,gray);SetPixel(i,j,color);
实现功能过程
1.新建基于对话框的应用程序
2.往工程添加一位图,然后拖拽一图片控件,修改ID为IDC_BMP,类型为BITMAP,位图设置为刚才添加位图的ID,再给此控件关联一变量  CStatic  m_Bmp;
3.添加一按钮控件,关联函数,实现图片灰度化;
  1. void CGkbc8Dlg::OnButton1()
  2. {CDC* pDC = m_Bmp.GetDC();
  3.         CRect rect ;
  4.         m_Bmp.GetClientRect(rect);
  5.         COLORREF color;
  6.         DWORD gray;
  7.         BYTE r,g,b;
  8.         for (int i = 0; i<rect.right;i++)
  9.                 for (int j = 0;j<rect.bottom;j++)
  10.                 {color = pDC->GetPixel(i,j);
  11.                         r = GetRValue(color);
  12.                         g = GetGValue(color);
  13.                         b = GetRValue(color);
  14.                         gray = (0.39*r+0.48*g+0.15*b);
  15.                         color = RGB(gray,gray,gray);
  16.                         pDC->SetPixel(i,j,color);
  17.                 }               
  18. }
复制代码
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:121.上位机VC MFC图片灰度化效果显示.rar 
文件大小:282.37 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

点击查看
快速回复 返回列表 客服中心 搜索