Win32中GDI+应用(一)
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
最新文章
- Autocomplete 自动补全(Webform实战篇)
- @Html.Raw()
- 配置管理服务diamond和disconf横向对比
- inuit.css – 基于 Sass 的强大,可扩展的 CSS 框架
- Spring中ApplicationContext对事件的支持
- CSS3动画进度条
- jquery概要--基础01
- IE兼容性问题解决方案1--ajax请求不发送到后台
- win32进阶之路:给锁屏软件增加一个超链接按钮
- 关于Java中volatile关键字笔记
- Problem of Uninstall Cloudera: Can't Add Hdfs and Reported Cannot Find CDH's bigtop-detect-javahome
- rewirte 规则
- typedef和#define的简单比较
- android 判断横竖屏的方法(转)
- Java枚举类使用和总结
- mongodb删除重复数据
- WPS for Linux
- npm错误:Error: listen EADDRNOTAVAIL
- vi/vim 命令速查手册
- node.js项目多环境配置
热门文章
- Android学习笔记(十一)BroadcastReceiver动态注册、注销示例
- bzoj 1007 [HNOI2008]水平可见直线(单调栈)
- 问题-[WIN764位系统]操作UDL驱动不全处理
- Nginx对于图片,js等静态文件的缓存设置
- swift小结02-基础篇
- 设置Win10文件资源管理器默认打开“这台电脑”
- [rxjs] Demystifying Cold and Hot Observables in RxJS
- Android Drawable 和String 相互转化
- AFNetWorking源码详解(二)
- BeanUtils使用概要