QQ登录

只需一步,快速开始

120上位机VC MFC图片反色效果显示

[ 复制链接 ]

120上位机VC MFC图片反色效果显示

120上位机VC MFC图片反色效果显示

120上位机VC MFC图片反色效果显示


功能展示

图片反色就是将图片中全部像素值进行取反操作,原来白色变成黑色等等,对一图像两次取反还是原来的图像。我们当前例程简单快速的实现指定位图的取反操作,效果如图;
要点提示
图像取反操作,我们当前例程用两种方法实现,第一种方法地是直接调用 DCD类的InvertRgn()函数,此函数用于指定区域的颜色取反;第二种方法是读取图片中每一像素点的RGB值,然后再对这些值进行取反操作;





实现功能
1.新建基于对话框的应用程序
2.向工程添加一位图,然后拖拽一图片控件,修改其ID为IDC_BMP,类型为位图,图片指定为刚添加位图的ID;再将此控件关联一变量CStatic  m_Bmp;

3.添加一按钮控件,关联函数
  1. void CGkbc8Dlg::OnButton1()
  2. {
  3.         CDC* pDC = m_Bmp.GetDC();
  4.         CRect rect;
  5.         m_Bmp.GetClientRect(rect);

  6.         //方法一
  7.         CRgn rgn;
  8.         rgn.CreateRectRgn(rect.left,rect.top,rect.right,rect.bottom);
  9.         pDC->InvertRgn(&rgn);
  10. /*
  11.         //方法二
  12.         BYTE r,g,b;
  13.         for (int i=1; i<rect.Width();i++)
  14.                 for (int j=1;j<rect.Height();j++)
  15.                 {
  16.                         COLORREF clr= pDC->GetPixel(i,j);
  17.                         r = GetRValue(clr);
  18.                         g = GetGValue(clr);
  19.                         b = GetBValue(clr);
复制代码
  1. r = abs(255-r);
  2.                         g = abs(255-g);
  3.                         b = abs(255-b);
  4.                         pDC->SetPixel(i,j,RGB(r,g,b));
  5.                 }
  6.         */
  7. }
复制代码
我们来演示下功能实现的整个过程
请点击此处下载

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

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

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

  

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

  

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

  

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


回复

使用道具 举报

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