GDI+, Microsoft Graphics Device Interface Plus, 是微软在继GDI(Microsoft Graphics Device Interface)后推出的图形编程接口,它捅GDI一样隐藏了下层显示设备、打印设备的具体细节,提供给用户一个统一的图形接口,支持基本的位图处理、显示,矢量元素(贝塞尔曲线等)绘制,基本的打印处理。它比GDI提供了更多的功能,诸如渐变填充,基本的位图格式编解码等。
本文尝试介绍我在学习GDI+中的一些体会,顺便做一些提纲型的笔记。

GDI+的新功能:
(一)渐变画刷
GDI+提供的渐变画刷可以填充出如下的效果:

上图是一种成为线性渐变画笔填充出来的效果。GDI还提供一种路径渐变画刷,你可以配置各种选项来设置让颜色随着你的路径(如贝塞尔曲线)来变化,它可以填充出下面的效果:

(二)样条曲线
GDI+可以绘制出样条曲线:

样条曲线将一系列的曲线连接起来,可以画出比较圆滑的拐角。
(三)独立的路径对象
在GDI里面,路径隶属于一定的设备上下文,路径绘制完成,路径对象也就被destroy掉了。但是在GDI+里面,你可以从一个Grahpics上生成若干个GraphicsPath对象,GraphicsPath对象独立于Graphics,并且不会在绘制完成后销毁。
(四)支持变换和矩阵
GDI+可以通过矩阵对象来支持常见的变化。原理可以再一般的图形学入门书籍里面见到。

(五)可变化的区域

GDI+扩展了GDI里面区域(Region)的功能,使得区域可以支持变换。

(六)透明度(Alpha)绘制
在GDI+里面,你可以设置绘制颜色的透明度,达到下面的绘制效果:

(七)支持多种图像格式

GDI+支持下面的图像格式:

  • BMP
  • Graphics Interchange Format (GIF)
  • JPEG
  • Exif
  • PNG
  • TIFF
  • ICON
  • WMF
  • EMF

转载地址:ttp://www.cppblog.com/dingding/archive/2008/06/27/54790.aspx

最新文章

  1. Autocomplete 自动补全(Webform实战篇)
  2. @Html.Raw()
  3. 配置管理服务diamond和disconf横向对比
  4. inuit.css – 基于 Sass 的强大,可扩展的 CSS 框架
  5. Spring中ApplicationContext对事件的支持
  6. CSS3动画进度条
  7. jquery概要--基础01
  8. IE兼容性问题解决方案1--ajax请求不发送到后台
  9. win32进阶之路:给锁屏软件增加一个超链接按钮
  10. 关于Java中volatile关键字笔记
  11. Problem of Uninstall Cloudera: Can't Add Hdfs and Reported Cannot Find CDH's bigtop-detect-javahome
  12. rewirte 规则
  13. typedef和#define的简单比较
  14. android 判断横竖屏的方法(转)
  15. Java枚举类使用和总结
  16. mongodb删除重复数据
  17. WPS for Linux
  18. npm错误:Error: listen EADDRNOTAVAIL
  19. vi/vim 命令速查手册
  20. node.js项目多环境配置

热门文章

  1. Android学习笔记(十一)BroadcastReceiver动态注册、注销示例
  2. bzoj 1007 [HNOI2008]水平可见直线(单调栈)
  3. 问题-[WIN764位系统]操作UDL驱动不全处理
  4. Nginx对于图片,js等静态文件的缓存设置
  5. swift小结02-基础篇
  6. 设置Win10文件资源管理器默认打开“这台电脑”
  7. [rxjs] Demystifying Cold and Hot Observables in RxJS
  8. Android Drawable 和String 相互转化
  9. AFNetWorking源码详解(二)
  10. BeanUtils使用概要