VC++图像处理模板 我们知道,Visual C++的CBitmap 类和静态图片控件的功能是比较弱的,它只能显示出在资源中的图标、位图、光标以及图元文件的内容,而不像VB 中的Image 控件可以显示出绝大多数的外部图像文件(BMP、GIF、JPEG 等)
因此,想要在对话框或其他窗口中显示外部图像文件则只能借助于第三方提供的控件或代码
现在,MFC 和ATL 共享的新类CImage 为图像处理提供了许多相应的方法,这使得 Visual C++在图像方面的缺憾一去不复返了
CImage 类概述 CImage 是MFC 和ATL 共享的新类,它能从外部磁盘中调入一个 JPEG、GIF、BMP 和PNG 格式的图像文件加以显示,而且这些文件格式可以 相互转换
由于 CImage 在不同的Windows 操作系统中其某些性能是不一样的,因此在使用时要特别注意
例如,CImage::PlgBlt 和 CImage::MaskBlt 只能在 Windows NT 4
0 或更高版本中使用,但不能运行在Windows 95/98 应用程序中
CImage::AlphaBlend 和CImage::TransparentBlt 也只能在 Windows 2000/98 或其更高版本中使用
即使在Windows 2000 运行程序还必须将 stdafx
h文件中的WINVER 和_WIN32_WINNT 的预定义修改成 0x0500 才能正常使用
CImage 封装了 DIB(设备无关位图)的功能,因而可以让我们能够处理每个位图像素
它具有下列最酷特性: 1、AlphaBlend 支持像素级的颜色混合,从而实现透明和半透明的效果
2、PlgBlt 能使一个矩形区域的位图映射到一个平行四边形区域中,而且还可能使用位屏蔽操作
3、TransparentBlt 在目标区域中产生透明图