您的位置:首页 > 其它

[MSDN翻译 之 《关于GDI+》] [2] GDI+新特性

2006-01-08 20:35 274 查看
GDI+有哪些新特性?


[align=center][/align]微软GDI+开发库与先前的GDI主要有两方面不同。一,GDI+扩展了GDI的功能,如颜色渐变填充,Alpha透明运算;二,重新设计的编程模型,使得开发图形程序更加方便。

新特性

[align=center][/align]下面的部分描述了GDI+的一些新特性。

渐变画刷

基本样条曲线

独立路径对象

变换和矩阵

可伸缩区域

Alpha叠加

多种图像格式的支持

渐变画刷(Gradient Brushes)

GDI+从GDI上扩展了对图形的颜色渐变填充。渐变画刷也可以用来绘制直线、曲线、路径。当你使用渐变画刷填充图形时,颜色会沿着图形的某个方向上逐渐变化。例如,假设你创建了一个水平渐变的画刷,并且指定画刷的左边是蓝色,右边是绿色,当使用这个画刷来填充图形时,会在被填充图形中产生从左向右,从蓝色向绿色逐渐变化的效果。类似,使用垂直画刷填充图形时,是从上至下的方向填充。下面两图分别是使用水平画刷填充的椭圆形,以及倾斜画刷填充的不规则区域。



当你使用路径渐变画刷填充图形时,有几种方式可供选择,以描述颜色如何沿着图形的方向发生渐变。一种设置方式是从图形中心向边缘发生颜色渐变。下图演示了用路径渐变画刷填充一对Bezier曲线构成的区域的情况。



基本样条曲线(Cardinal Splines)

GDI+支持GDI中所不支持的样条曲线。样条曲线是由多条单独的曲线连接成的更长的曲线。样条曲线用被其依次穿过的一系列点来定义,曲线必须平滑的穿过这些点(不能有锋利的拐角。译者注:在数学定义中,平滑曲线要求曲线方程的一阶导数是连续函数),使得曲线看起来要比直接将这些点用直线连接起来漂亮一些。下图演示了两条曲线,上面这条是样条曲线,下面那条是直线连接的点。



独立路径对象(Independent Path Objects)

GDI中,一条路径属于一个设备上下文(device context), 并且路径在绘制之后就被销毁了。但在GDI+中,绘图由图形对象来完成,这样你就可以创建并且持续拥有一些与Graphics对象分离的GraphicsPath对象。GraphicsPath对象在绘制操作后不会被销毁,所以你就可以用同一个GraphicsPath对象多次绘制路径。

变换和矩阵(Transformations and the Matrix Object)

GDI+提供了矩阵对象,一个进行几何变换(旋转,移动等)的方便快捷的工具。矩阵对象需要与被变换的对象结合使用。如,GraphicsPath对象有一个Transform方法,接受一个Matrix对象作为参数。一个3×3的矩阵可以表示一个变换,也可以表示一系列变换。下图演示了一个路径的原始情况,以及经过两次变换(首先缩放,然后旋转)后的样子。



可伸缩区域(Scalable Regions)

GDI+对GDI的区域(regions)功能进行了出色的扩充。在GDI中,region被保存在设备坐标中,并且只能进行平移变换。而GDI+中,region被保存在世界坐标系中,并且支持任何几何变换(如缩放,伸缩)。下图演示了一个区域(region)的原始情况,以及经过三个变换(伸缩,旋转,平移)叠加后的样子。



Alpha叠加(Alpha Blending)

注意前面的图示,你可以透过变换后的图形看到他下面红色的原始图形。这是用GDI+中的Alpha叠加运算实现的。对于Alpha运算,你可以指定填充颜色的透明度,透明颜色的效果是通过颜色与底色的叠加运算获得的,前景颜色看起来越透明,则背景色(底色)看起来越清晰。下图演示了四个同样使用红色填充的椭圆形,但是他们的透明度不同。



多种图像格式的支持(Support for Multiple Image Formats)

GDI+提供了图像,位图,元数据文件操作类,使得用户可以以多种格式保存图像数据,具体支持下述类型:


BMP


Graphics Interchange Format (GIF)


JPEG


Exif


PNG


TIFF


ICON


WMF


EMF
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: