CBitmapEx—免费的C++位图 *** 作类

CBitmapEx—免费的C++位图 *** 作类,第1张

                           By darkoman

                                    翻译:朱金灿

 

 

原文出处:http://www.codeproject.com/KB/graphics/CBitmapEx.aspx

译文来源:http://blog.csdn.net/clever101

 

 

简介:

 

 这篇文章介绍了一个叫CBitmapEx的简单的C++位图 *** 作类。很多次我面对这样一个事实:MFC库只能提供一个只带有有限特征的C++位图 *** 作CBitmap。我需要诸如比例尺、旋转角度、应用不同滤波等等特征,但是CBitmap并不具有。另一个类CDC (设备上下文)提供了诸如拉伸度、透明性和透明混色等更多的选项,但它运行得太慢(被很多人很多次所证实)。

 

所以,我决定去写另一个(是的,另一个)不依赖MFC的位图 *** 作类,并且提供一些目前在原来MFC没有实现的特性。这个类能加载任何8位、16位、24位和32位的位图,但在里面是和32位位图运行的。能够将结果图像保存24位位图到硬盘,或者它能够在设备上下文中画出位图。

 

背景

 

     在Code Project有很多文章讨论过这个话题,所以你可以随意翻阅它们并将它们的最终结果和我的实现作比较。

 

代码用法

   使用这个类非常简单,请看下面:

  1. #include "BitmapEx.h"
  2. // 装载位图
  3. CBitmapEx bitmapEx;
  4. bitmapEx.Load(_T("Enter bitmap source file path here..."));
  5. // Do whatever you need to do here
  6. bitmapEx.Rotate(45);
  7. bitmapEx.Sepia();
  8. bitmapEx.Scale(50, 50);
  9. // 在屏幕上绘制位图(首先在别的地方得到设备句柄)
  10. bitmapEx.Draw(hDC);
  11. // 保存位图
  12. bitmapEx.Save(_T("Enter bitmap destination file path here..."));

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/2087046.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-22
下一篇 2022-07-22

发表评论

登录后才能评论

评论列表(0条)

保存