第13章 GDI+绘制图形【荐】.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13章 GDI+绘制图形 GDI+是.NET框架中提供二维图形、图像处理等功能。GDI+在GDI(较早版本的Windows中提供的Graphics Device Interface)的基础上进行了改进,添加了新功能并改进了现有功能。GDI+主要用于在窗体上绘制各种图形图像,可以用于绘制各种数据图形,数学仿真等功能。GDI+可以在窗体程序中产生很多自定义的图形,便于开发人员展示各种图形化的数据。 在本章中,将重点学习以下内容: 了解GDI+相关概念; 绘制基本图形; 13.1 GDI+概述 在.NET框架中,已经提供了一些关于GDI+绘图的方法,这些方法主要保存在System.Drawing命名空间中。Graphics类是最基础的绘图类,所有的图形都是在Graphics对象上呈现出来的。 13.1.1 Graphics对象 Graphics类封装一个GDI+绘图图面。Graphics对象表示GDI+绘图表面,是用于创建图形图像的对象。绘图时需要先创建Graphics对象,然后才可以使用GDI+绘制线条和形状、呈现文本或显示与操作图像。绘制图形包括两个步骤。 (1)创建Graphics对象。 (2)使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像。 13.1.2 坐标系统 计算机图形的基础是几何学,几何学中最基本的就是坐标系统,一切图形都是基于坐标来实现的。所以,计算机图形也离不开坐标。软件中的坐标和几何学中的坐标是一样的,只不过原点(0,0)位于窗体(或容器)的左上角。在每个控件的内部,也都有自己的坐标,原点也是位于其左上角。和绘图的坐标系统密切相关的三种结构是:Point、Size和Rectangle。 1. Point 2. Size 3. Rectangle 13.1.3 颜色 颜色对于图形是至关重要的,可以使绘图表现得更加丰富多彩。在GDI+中,颜色通过Color结构来表示。创建Color结构有两种表达形式,一种是用枚举,在系统中Color类已经提供了大约150多种枚举属性。另外一种则是通过静态方法FromArgb(),是用RGB或者其他参数(如透明度、饱和度、亮度等)来实现颜色的定义。 使用枚举的方式来声明一个颜色对象结构,如下面的代码所示。 Color blueColor = Color.Blue; 通过静态方法FromArgb()构建颜色对象结构,如下面的代码所示。 Color redColor = Color.FromArgb(255, 0, 0); 13.2 基础绘图 在C#类库中,提供了诸多有关GDI+绘图的类,依赖这些内置类库,开发者可以很容易的绘制简单的几何图形。本节介绍了常用绘制图形的类,包括钢笔Pen类、画笔Brush类以及字体Font类等。 13.2.1 使用钢笔Pen类绘制图形 Pen类的主要作用正如其中文名称所讲,起到一个画笔的作用,主要用于绘制线条,或者用线条组合成的其他几何形状。 13.2.1 使用钢笔Pen类绘制图形 13.3.2 使用画笔Brush类绘制图形 钢笔Pen类绘制的,都是一些空心的、内部没有被填充颜色的图形。Brush类绘制的图形则是实心的、内部已经填充了颜色图形。所以,常常使用画笔Brush类来填充图形区域。 使用画笔Brush类填充图形的方式可以分为四种:实心图形、阴影画笔、纹理画笔和渐变画笔,下面逐一详细介绍。 1. 实心图形 2. 阴影画笔 3. 纹理画笔 4. 渐变画笔 13.3.2 使用画笔Brush类绘制图形 13.2.3 使用OnPaint事件绘制图形 之前的应用程序都是通过按钮控件事件的触发来绘制图形的,那么可不可以在窗体加载的时候,就把图形呈现在上面呢?幸运的是,大多数窗体都是继承了Form类,而在Form类中已经执行了重新绘制的事件OnPaint,OnPaint又是一个虚方法,所以,只要重写OnPaint()方法就可以执行画图操作。 13.2.4 字体Font类 Font类表示字体,如果需要使用GDI+在窗体上描绘文本的时候,则可以借助Font类来实现。 13.2.5 绘制特定曲线 使用钢笔Pen对象不仅可以创建简单的图形,还可以绘制比较复杂的曲线。曲线的定位往往需要依照多个点,所以结合Point对象,就可以创建符合需要的曲线。 13.2.6 绘制贝塞尔曲线 贝塞尔曲线是计算机图形图像造型的基本工具,是图形造型运用得最多的基本线条之一。它通过控制曲线上的四个点(起始点、终止点以及两个相互分离的中间点)来创造、编辑图形。其中起重要作用的是位于曲线中央的控制线。这条线是虚拟的,中间与贝塞尔曲线交叉,两端是控制端点。移动两端的端点时贝塞尔曲线改变曲线的曲率(弯曲的程度);移动中间点(也就是移动虚拟的控制线)时,贝塞

文档评论(0)

wulf + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档