QQ登录

只需一步,快速开始

127上位机VC MFC实现图片的剪切效果

[ 复制链接 ]

127上位机VC MFC实现图片的剪切效果

127上位机VC MFC实现图片的剪切效果
127上位机VC MFC实现图片的剪切效果
功能展示
图片进行剪切 粘贴操作是图像编辑软件必须的功能,我们当前例程简单快速的实现了图片的剪切功能,点击剪切按钮,将原图指定区域进行剪切,再将剪切的部分复制到右侧显示,效果如图;
要点提示
我们当前是利用区域类CRgn 创建一个剪切区域,然后使用控件的CDC将创建的剪切区域选中到源图中填充为黑色或白色,表示被剪切,再将创建的剪切区域选中到目标区域,显示被剪切的部分;
具体实现过程,可以实例部份
实现功能
1.新建基于对话框的应用程序
2.先添加一幅位图,作为操作演示用,拖拽两图片控件;
一控件ID改为IDC_BMP关联变量CStatic  m_Bmp,类型修改为位图,位图ID设置为刚加载的位图;
另一控件ID改为IDC_BMPCUT,类型设置为位图,关联变量  CStatic  m_BmpCut;
3.添加按钮,关联函数,实现图片剪切效果
  1. void CGkbc8Dlg::OnButton1()
  2. {
  3.         CBitmap Bitmap;
  4.         Bitmap.Attach(m_Bmp.GetBitmap());//附加位图句柄
  5.         BITMAP bmp;
  6.         Bitmap.GetBitmap(&bmp);
  7.         //创建一个剪切区域
  8.         CRgn m_rgn;
  9.         m_rgn.CreateEllipticRgn(10,10,bmp.bmWidth-10,bmp.bmHeight-10);
  10.         CDC* pDC = m_BmpCut.GetDC();
  11.         CDC* pBMPDC = m_Bmp.GetDC();
  12.         //选中剪切区域
  13.         pDC->SelectClipRgn(&m_rgn,RGN_COPY );
  14.         pDC->BitBlt(0,0,bmp.bmWidth,bmp.bmHeight,pBMPDC,0,0,SRCCOPY);
  15.         pBMPDC->SelectClipRgn(&m_rgn,RGN_COPY );
  16.         pBMPDC->BitBlt(0,0,bmp.bmWidth,bmp.bmHeight,pDC,0,0,BLACKNESS);
  17.         Bitmap.Detach();
  18.         m_BmpCut.ReleaseDC(pDC);
  19.         m_Bmp.ReleaseDC(pBMPDC);
  20. }
复制代码
我们来演示下功能实现的整个过程
请点击此处下载

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

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

文件名称:127.上位机VC MFC实现图的剪切效果.rar 
文件大小:256.8 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

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

  

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

  

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


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索