- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VisualC.NET的GDI开发教程
基于Visual C++.NET 的GDI+开发教程
Contents
一.GDI+慨述2
二.GDI+绘图基础9
三.字体和文本绘制21
四.图像处理25
五.使用CIMAGE 类31
以前开发人员可以通过GDI(Graphics Device Interface)在Windows 窗口中绘制图形、文
本和图像。但GDI 的图像处理能力却非常欠缺,位图超过256 色就会失真或不能显示,因
此开发人员在焦急的等待新一代的图形处理工具。
在漫长的等待后,我们终于等来了GDI+ 。GDI+是GDI 的新版本,它在GDI 的基础上
添加了许多新特性,为开发人员提供了处理二维矢量图形、文本、图像以及图形数据矩阵
的一系列API 接口。
本文从实际应用出发,着重讨论了GDI+和CImage 类的一般使用方法以及在图像处理
等方面的使用方法。
一.GDI+慨述
GDI+接口是Microsoft Whistler 操作系统中的一部分,它是GDI 的一个新版本,不仅在
GDI 基础上添加许多新特性而且对原有的GDI 功能进行优化。在为开发人员提供的二维矢
量图形、文本、图像处理、区域、路径以及图形数据矩阵等方面构造了一系列相关的类,
如Bitmap(位图类) 、Brush(画刷类) 、Color(颜 色类) 、Font(字体类) 、Graphics( 图形类) 、
Image( 图像类) 、Pen(画笔类)和Region( 区域类)等。其中,图形类 Graphics 是GDI+接口中
的一个核心类,许多绘图操作都可用它来完成。
我们首先介绍一下GDI+ 的新特性以及其编程方式的改变,然后介绍用Visual C++.NET
在基于对话框和单文档/多文档等应用程序中使用GDI+ 的一般方法。
GDI+新特性
GDI+与GDI 相比,增加了下列新的特性:
1、渐变画刷
以往GDI 实现颜色渐变区域的方法是通过使用不同颜色的线条来填充一个裁剪区域而
达到的。现在GDI+拓展了GDI 功能,提供线型渐变和路径渐变画刷来填充一个图形、路
径和区域,甚至也可用来绘制直线、曲线等。这里的路径可以视为由各种绘图函数产生的
轨迹。
2 、样条曲线
对于曲线而言,最具实际意义的莫过于样条曲线。样条曲线是在生产实践的基础上产
生和发展起来的。模线间的设计人员在绘制模线时,先按给定的数据将型值点 准确地点
到图板上。然后,采用一种称为样条的工具(一根富有弹性的有机玻璃条或木条) ,用压铁
强迫它通过这些型值点,再适当调整这些压铁,让样条 的形态发生变化,直至取得合适的
形状,才沿着样条画出所需的曲线。如果我们把样条看成弹性细梁,那么压铁就可看成作
用在这梁上的某些点上的集中力。 GDI+ 的Graphics:: DrawCurve 函数中就有一个这样的参
数用来调整集中力的大小。除了样条曲线外,GDI+还支持原来GDI 中的Bezier 曲线。
3、持久的路径对象
我们知道,在GDI 中,路径是隶属于一个设备环境(上下文) ,也就是说一旦设备环境
指针超过它的有效期,路径也会被删除。而GDI+是使用 Graphics 对象来进行绘图操作,
并将路径操作从Graphics 对象分离出来,提供一个GraphicsPath 类供用户使用。这就是说,
我们不必 担心路径对象会受到Graphics 对象操作的影响,从而可以使用同一个路径对象进
行多次的路径绘制操作。
4 、矩阵和矩阵变换
在图形处理过程中常需要对其几何信息进行变换以便产生复杂的新图形,矩阵是这种
图形几何变换最常用的方法。为了满足人们对图形变换的需求,GDI+提供 了功能强大的
Matrix 类来实现矩阵的旋转、错切、平移、比例等变换操作,并且GDI+还支持Graphics
图形和区域(Region) 的矩阵变换。
5、Alpha 混色
在图像处理中,Alpha 用来衡量一个像素或图像的透明度。在非压缩的32 位RGB 图像
中,每个像素是由四个部分组成:一个Alpha 通道和三个颜色分量(R、G 和B) 。当Alpha
值为0 时,该像素是完全透明的,而当Alpha 值为255 时,则该像素是完全不透明。
Alpha 混色是将源像素和背景像素的颜色进行混合,最终显示的颜色取决于其RGB 颜
色分
文档评论(0)