工控编程吧
标题:
128上位机VC MFC实现图片合成显示效果
[打印本页]
作者:
qq263946146
时间:
2015-12-28 21:30
标题:
128上位机VC MFC实现图片合成显示效果
(, 下载次数: 1)
上传
点击文件名下载附件
128上位机VC MFC实现图片合成显示效果
功能展示
图片的合成就是新两幅以上图片合在一起显示,在图片处理软件中常用,我们当前使用也简单实现两图片的合成,点击合成按钮,全将右上角小图片合成到美女身上,效果如图;
要点提示
例程中图片的合成用到的是CDC的BitBlt()函数,此函数带有众多参数,最后一个参数为光栅操作模式,我们这里使用SRCAND,进行图片的与操作实现图片合成;
实现功能
1.新建基于对话框的应用程序
2.添加两位图到工程,拖拽两个图片控件,修改默认ID,类型为位图,图片ID设为刚添加的位图ID,再给两控件关联变量 Cstatic m_MARK; Cstatic m_BK;添加按钮实现两位图的合成
void CGkbc8Dlg::OnButton1()
{
CDC* pBKDC = m_BK.GetDC(); //获取背景图片设备上下文
CDC* pMAKRDC = m_MARK.GetDC();//获取MARK设备上下文
CBitmap Bitmap; //位图对象
BITMAP bmp; //位图信息
Bitmap.Detach();
Bitmap.Attach((HBITMAP)m_MARK.GetBitmap());
Bitmap.GetObject(sizeof(bmp),&bmp);//获取位图大小
//在背景图片的指定区域绘制图像
pBKDC->BitBlt(110,230,bmp.bmWidth,bmp.bmHeight,pMAKRDC,0,0,SRCAND);
pBKDC->BitBlt(150,240,bmp.bmWidth,bmp.bmHeight,pMAKRDC,0,0,SRCAND);
Bitmap.Detach();//将句柄与位图对象分离
m_BK.ReleaseDC(pBKDC);
m_MARK.ReleaseDC(pMAKRDC);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/d61f46089392524ba75f8a6317e722f2/0/0/w_19rtd0j4ph.swf-albumId=5102102009-tvId=5102102009-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4