- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 图形与动画 5.1 GDI+入门基础 5.1.1 图形绘制基础 为了能够快速开发图形应用程序,方便地在屏幕和打印机上绘制图形与文本,C#为用户提供了GDI+。 通过GDI+所提供的对象工具,程序设计者可以方便地绘制矢量图形、位图图像和文字。GDI+中包括了绘图所需的画笔(Pen)、画刷(Brush)、图标(Icon)、图像(Image)、字体(Font)、Graphics等多种绘图对象。 GDI+中最常用的组件都位于System.Drawing和System.Drawing.Drawing2D命名空间,其层次结构如图5-1-1所示。 5.1.2 图形坐标系统 图形坐标系统指出了图形处理中对每个点的标识方案,在C# 程序中,默认以绘图对象的左上角为坐标系统的原点(0,0),以水平向右为X轴正方向,垂直向下为Y轴正方向,如图5-1-2所示。 5.1.3 辅助绘图对象 在绘图处理中,除了坐标系统外,还有一些对象是绘图时必须使用到的,包括颜色控制对象Color和绘图位置控制对象Point、Rectangle和Size等。 1.绘图颜色的设置 2.绘图位置的控制 (1)Point (2)Size (3)Rectangle 此外,PointF、RectangleF和SizeF为Point、Rectangle和Size等对象所对应的浮点型类型,这些结构对象的用法与Point、Rectangle和Size相同,只不过它们可以接受浮点型(float)参数,而Point、Rectangle和Size只能接受整型(int)参数。 5.1.4 图形对象Graphics 在C#中,图形的绘制通过获取对象(如窗体、控件)所关联的图形对象Graphics,然后在Graphics对象上进行的。 图形对象Graphics必须与一个具体的“图形设备上下文”相关联,“图形设备上下文”代表一个绘图表面,它通常是一个控件或窗体的表面。 1.获取对象的Graphics 2.Graphics的常用绘图方法 5.1.5 画笔(Pen)与画刷(Brush) 画笔(Pen)是GDI+中用于绘制各种线条和封闭图形边框的工具,而画刷(Brush)则用于绘制封闭图形的填充部分。 1.画笔 (1)创建画笔 (2)画笔属性 2.画刷 画刷用于绘制封闭图形的内部填充部分。与前面的Pen不同,画刷类Brush是一个抽象类,即不能直接使用Brush来进行图形填充,只能使用Brush的派生类对象来进行图形的填充。 Brush有多个派生类,可用于创建图案画刷、单色画刷、图形画刷、渐变画刷等,具体内容如下。 (1)图案画刷HatchBrush (2)单色画刷SolidBrush (3)图像画刷TextureBrush (4)渐变画刷LinearGradientBrush 【案例36】绘制基本图形 本例中,将通过图形对象Graphics,在窗体上绘制出几种常见基本的图形,效果如图5-1-8所示。 在本例实现过程中,将学习GDI+中如何通过Graphics绘制基本图形。案例实现过程如下。 1.创建项目 2.界面设计 3.添加事件处理程序 【案例37】函数图案 使用图形对象的绘图方法除了可以绘制简单图形外,还可以通过对程序算法进行设计,绘制出复杂的图案,本案中的函数图案就是一个利用程序算法进行图案绘制的例子。程序运行效果如图5-1-9所示。 在本例实现过程中,将学习如何通过程序设计用GDI+绘制复杂图形。案例实现过程如下。 1.创建项目 2.界面设计 3.添加事件处理程序 【案例38】渐变图形 本案例中将演示图形的渐变填充,案例效果如图5-1-10所示。 在本例实现过程中,将学习渐变画刷的应用。案例实现过程如下。 1.创建项目 2.界面设计 3.添加事件处理程序 5.2 图像处理 5.2.1 Image类与Bitmap类 1.Image类与Bitmap类的常用方法与属性 2.Bitmap类的构造
您可能关注的文档
- C#程序设计及应用教程 第2版 马骏 第1章 概述.ppt
- C#程序设计及应用教程 第2版 马骏 第2章 数据类型与流程控制.ppt
- C#程序设计及应用教程 第2版 马骏 第4章 面向对象编程基础.ppt
- C#程序设计及应用教程 第2版 马骏 第5章 面向对象的高级编程.ppt
- C#程序设计及应用教程 第2版 马骏 第6章 窗体、控件和组件.ppt
- C#程序设计及应用教程 第2版 马骏 第7章 目录与文件管理.ppt
- C#程序设计及应用教程 第2版 马骏 第9章 ADO.NET与数据操作.ppt
- C#程序设计及应用教程 第2版 马骏 第12章 正则表达式.ppt
- C#程序设计及应用教程 第2版 马骏 第13章 Web应用程序设计基础.ppt
- C#程序设计及应用教程 第3版 “十二五”普通高等教育本科国家级规划教材 作者 马骏 第2章 基本数据类型和流程控制语句.ppt
- C#程序设计实用教程 作者 张晓蕾 第6章-数据库应用开发.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH2.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH3.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH4.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH6.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH7.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH8.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH9.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH10.ppt
- C#面向对象程序设计 第2版 作者 郑宇军 CSCH11.ppt
文档评论(0)