MFC的 CImage 解析

本文介绍了MFC中的CImage类如何用于显示jpg和bmp等图片,特别是其AlphaBlend和BitBlt函数的应用,展示了如何实现图片的透明显示和普通绘制功能。
摘要由CSDN通过智能技术生成

CImage作用:显示jpg,bmp等图片的功能。   我们可以通过它做界面的贴图功能。

演示功能:

1。保存图片

保存图片只有一个函数,就是Save函数,该函数有两个参数,一个是文件的完整路径和文件名,一个是文件的扩展名。但是如果只有保存和显示图片功能,CImage的Save函数发挥不了太大的作用,不过是一个转存文件的工具。CImage的强大之处在于可以对图片进行修改,再进行保存。
修改图片的函数有这么3个函数可以修改图片,都是像素级的操作。这三个函数分别为SetPixel,SetPixelRGB,SetPixelIndexed。可以通过双重循环对屏幕进行逐点扫描,并把像素颜色值保存到CImage对象中达到截屏的目的。
我们可以用一段很简单的代码来实现将DC(设备上下文)里绘制的图形存入图片文件中。基本的思想是先初始化一个CImage对象,再为它设定大小和位数,也就是图片大小和图片的色彩总数,再用设备上下文绘图。绘制完图形后再建立另外一个设备上下文对象,称为目的DC,将之前绘图的DC称为源DC,目的DC必须与CImage对象关联起来,然后利用BitBlt函数和其他函数将绘图DC的内容拷贝到目的DC中,最后将CImage对象保存到文件中,以下是代码实现(VS2010支持中文变量名):
CRect rect;
this->GetClientRect(rect);
CImage image;
image.Crea
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值