得麻烦。例如显示一张位图,我们需要进行“创建位图,读取位图文件信息,启用场景设备,
调色板变化“等一系列操作。然而有了 ,繁琐的步骤再次被简化。顾名思义,
就是 的增强版,它是微软在 以后操作系统中提供的新接口。
2、GDI+主要功能
主要提供以下三种功能:
!二维矢量图形:提供了存储图形基元自身信息的类 或结构体!、存储图形基
元绘制方式信息的类以及实际进行绘制的类;
!图像处理:大多数图片都难以划定为直线和曲线的集合,无法使用二维矢量图形
方式进行处理。因此,为我们提供了 "#、#$ 等类%它们可用于显示、操作
和保存 "&'、('、) 等图像格式。
*!文字显示:支持使用各种字体、字号和样式来显示文本。
相比于 ,是基于 类的对象化的应用程序接口,因此用起来更为简单。
的核心是设备上下文, 函数都依赖于设备上下文句柄,其编程方式是基于句柄的;
无需时刻依赖于句柄或设备上下文,用户只需创建一个 对象,就可以用
面向对象的方式调用其成员函数进行图形操作,编程方式是基于对象的。
3、GDI 绘制实例
在使用设备上下文绘制线条之前,必须先调用 +,-./以使笔对象和设备
上下文关联。其后,在设备上下文中绘制的所有线条均使用该笔,直到选择另一支不同的
笔为止。
使用 画线代码如下
001--234##,
õõ,,56600目标 6666
* õõ' '+7+-8%%9" %%!!5
: õõ,+,-./ +;, !!5
00开始绘制
õõ,&1 %!
< õõ,81 $%!5
õõ,+,-./ ,-./!5
从上述代码可以看出:在 编程中,几乎所有的操作都围绕设备上下文 展开。
的确,这正是 编程的特点!设备上下文是 使用的一种结构,所有 操作
前都需取得特定设备的上下文,函数中的 , !语句完成这一功能。
利用 进行图形、图像处理的一般操作步骤为:取得指定窗口的 。确定使用的
坐标系及映射方式。*进行图形、图像或文字处理。:释放所使用的 。但是,在
中,只需将 ' 对象直接作为参数传递给 类的 8 等方法即可,
而不必使 ' 对象与 对象关联。
4、GDI+绘制实例
使用 画线代码如下
001--234##,
,, !5
* 00创建 对象
: $ ,!5
00创建
'#3'5
< #3'+ !5