第八章图形应用设计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第八章图形应用设计.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 图形 应用 设计
- 资源描述:
-
1、第八章第八章 图形应用设计图形应用设计VB.NETVB.NET程序设计程序设计主讲教师:黄超男主讲教师:黄超男email:email:VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第2 2页页本章内容:本章内容:8.1 GDI+8.1 GDI+与绘图基础与绘图基础 8.2 Graphics8.2 Graphics常用图形的绘制常用图形的绘制 8.3 8.3 填充图形填充图形 8.4 8.4 交互绘图交互绘图VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第3 3页页学习目标学习目标绘图基础绘图基础绘制图形绘制图形填充图形填充图形交互绘图交互绘图VB.NET
2、VB.NET程序设计程序设计图形应用设计图形应用设计第第4 4页页8.1 GDI+8.1 GDI+与绘图基础与绘图基础 图形设备接口图形设备接口即即GDI+(GDI+(Graphic Device Graphic Device Interface Plus)Interface Plus),是,是WindowsWindows平台的新一代二平台的新一代二维图形系统,程序员可利用维图形系统,程序员可利用GDI+GDI+这样的图形设备这样的图形设备接口在屏幕或打印机上显示和输出信息,而不需接口在屏幕或打印机上显示和输出信息,而不需要考虑特定显示设备的具体情况。要考虑特定显示设备的具体情况。VB.NET
3、VB.NET程序设计程序设计图形应用设计图形应用设计第第5 5页页一一.GDI+.GDI+的对象的对象 组成:组成:GDI+GDI+由由.NET.NET类库中类库中System.DrawingSystem.Drawing命名空命名空间间下的很多类组成。下的很多类组成。功能:功能:这些类包括窗体上绘图的必要功能,可以这些类包括窗体上绘图的必要功能,可以在屏幕上完成在屏幕上完成对文本和位图的绘制对文本和位图的绘制,也可以控制,也可以控制字体、颜色、线条粗细、阴影、方向等因素,并字体、颜色、线条粗细、阴影、方向等因素,并把这些操作发送到显卡上,确保在显示器上正确把这些操作发送到显卡上,确保在显示器上
4、正确输出。它使开发人员可以利用输出。它使开发人员可以利用WindowsWindows内置的图内置的图形功能轻松地创建图形应用程序。形功能轻松地创建图形应用程序。GDI+GDI+的常用类:的常用类:见教材见教材166166页表格页表格8-18-1 常用的绘图函数:常用的绘图函数:见教材见教材167167页表格页表格8-28-2VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第6 6页页二二.命名空间命名空间.NET.NET框架类库由命名空间组成框架类库由命名空间组成。每个命名空间都包含可。每个命名空间都包含可以在程序中使用的类、结构、枚举、委托和接口。以在程序中使用的类、结构、
5、枚举、委托和接口。常用的命名空间常用的命名空间:见教材:见教材167167页表格页表格8-38-3 引用命名空间的方法引用命名空间的方法:Imports Imports 命名空间命名空间 例如:例如:Imports System.DrawingImports System.Drawing 注意:注意:引用命名空间的语句要放在最前面引用命名空间的语句要放在最前面VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第7 7页页三三.坐标系坐标系 在在VB.NETVB.NET中,控件放置在窗体对象中,而窗体又放置在中,控件放置在窗体对象中,而窗体又放置在屏幕对象中,这些屏幕对象中,这些
6、能够放置其他对象的对象称为容器能够放置其他对象的对象称为容器,如窗体、屏幕都是容器。如窗体、屏幕都是容器。每个容器都有一个坐标系每个容器都有一个坐标系,以便为对象的定位提供参考以便为对象的定位提供参考容器坐标系统的容器坐标系统的默认默认设置是容器的设置是容器的左上角为坐标原点左上角为坐标原点,横向向右为横向向右为X X轴方向,纵向向下为轴方向,纵向向下为Y Y轴方向轴方向窗体的原点在紧靠菜单和工具栏(如果有的话)的下方窗体的原点在紧靠菜单和工具栏(如果有的话)的下方默认的长度单位为像素(默认的长度单位为像素(PixelPixel)VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计
7、第第8 8页页四四.GDI+.GDI+绘制图形的方法绘制图形的方法 在在System.DrawingSystem.Drawing命名空间中,命名空间中,GraphicsGraphics类是绘制图形类是绘制图形的最核心的类的最核心的类。利用该类提供的。利用该类提供的4040多种方法,用户可以多种方法,用户可以绘制出直线、曲线、椭圆等各种图形。绘制出直线、曲线、椭圆等各种图形。使用使用GDI+GDI+绘制图形需以下绘制图形需以下5 5个步骤个步骤:(1)(1)声明声明GraphicsGraphics对象;对象;例如:例如:Dim g As System.Drawing.GraphicsDim g
8、As System.Drawing.Graphics (2)(2)创建创建GraphicsGraphics类的实例;类的实例;例如:例如:g=Me.CreateGraphicsg=Me.CreateGraphics 在本窗体上创建一个在本窗体上创建一个GraphicsGraphics类的实例类的实例 g=PictureBox1.CreateGraphicsg=PictureBox1.CreateGraphics 在在PictureBox1PictureBox1上创建一个上创建一个GraphicsGraphics类的实例类的实例VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第
9、9 9页页(3)(3)创建画笔创建画笔(Pen)(Pen)、画刷、画刷(Brush)(Brush)、字体、字体(Font)(Font)等绘图工等绘图工具对象;具对象;例如:例如:Dim mypen As New Pen(Color.Blue,5)Dim mypen As New Pen(Color.Blue,5)创建画笔对象创建画笔对象(4)(4)调用调用GraphicsGraphics对象的绘图方法绘制图形;对象的绘图方法绘制图形;例如:例如:g.DrawLine(mypen,0,0,100,100)g.DrawLine(mypen,0,0,100,100)调用调用DrawLineDrawL
10、ine方法画一条直线方法画一条直线(5)(5)调用相关绘图对象的调用相关绘图对象的DisposeDispose方法来释放对象。方法来释放对象。例如:例如:mypen.Dispose()mypen.Dispose()g.Dispose()g.Dispose()释放释放PenPen对象和对象和GraphicsGraphics对象对象VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1010页页使用使用5 5个步骤绘制图形综合举例:个步骤绘制图形综合举例:Private Sub Button1_Click(Private Sub Button1_Click()Dim g As Gr
11、aphicsDim g As Graphics 声明声明GraphicsGraphics对象对象 g=Me.CreateGraphicsg=Me.CreateGraphics 在本窗体上创建一个在本窗体上创建一个GraphicsGraphics类的实例类的实例 Dim mypen As New Pen(Color.Blue,5)Dim mypen As New Pen(Color.Blue,5)创建画笔对象创建画笔对象 g.DrawLine(mypen,0,0,100,100)g.DrawLine(mypen,0,0,100,100)调用调用DrawLineDrawLine方法画一条直线方法画
12、一条直线 mypen.Dispose()mypen.Dispose()g.Dispose()g.Dispose()释放释放PenPen对象和对象和GraphicsGraphics对象对象 End SubEnd SubVB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1111页页五五.Pen.Pen对象对象 PenPen对象:对象:又称画笔对象。又称画笔对象。功能:功能:主要用来绘制线条、多边形、曲线等几何图形。主要用来绘制线条、多边形、曲线等几何图形。PenPen对象的创建:对象的创建:四种方法如下:四种方法如下:(1)Dim(1)Dim 对象名对象名 As New Pen(
13、As New Pen(颜色颜色)例如:例如:Dim mypen As New Pen(Color.Blue)Dim mypen As New Pen(Color.Blue)(2)Dim(2)Dim 对象名对象名 As New Pen(As New Pen(颜色,宽度颜色,宽度)例如:例如:Dim mypen As New Pen(Color.BlueDim mypen As New Pen(Color.Blue,4)4)(3)Dim(3)Dim 对象名对象名 As New Pen(As New Pen(刷子刷子)(4)Dim(4)Dim 对象名对象名 As New Pen(As New Pen
14、(刷子,宽度刷子,宽度)VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1212页页 PenPen对象的常用属性:对象的常用属性:AlignmentAlignment属性属性:获取或设置此:获取或设置此PenPen对象的对齐方式。对象的对齐方式。ColorColor属性:属性:获取或设置此获取或设置此PenPen对象的颜色。对象的颜色。WidthWidth属性:属性:获取或设置此获取或设置此PenPen对象的宽度。对象的宽度。DashStyleDashStyle属性:属性:获取或设置通过此获取或设置通过此PenPen对象绘制的虚线对象绘制的虚线的样式。该属性是一个的样式。该
15、属性是一个DashStyleDashStyle枚举型的值。如下表枚举型的值。如下表:样式名称样式名称线段样式线段样式DashDash虚线虚线DashDotDashDot点划线点划线DashDotDotDashDotDot双点划线双点划线DotDot点线点线SolidSolid实线实线CustomCustom用户自定义用户自定义VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1313页页 PenPen对象的常用属性:对象的常用属性:Dashcap Dashcap 属性属性:设置虚线短两端的外观。:设置虚线短两端的外观。其取值有:其取值有:FlatFlat指定每一划线段的两端均
16、为方形帽。指定每一划线段的两端均为方形帽。RoundRound指定每一划线段的两端均为圆角帽。指定每一划线段的两端均为圆角帽。TriangleTriangle指定每一划线段的两端均为带尖的三角帽指定每一划线段的两端均为带尖的三角帽StartcapStartcap属性:属性:获取或设置通过此获取或设置通过此PenPen对象绘制的直线对象绘制的直线起点的帽样式。起点的帽样式。Endcap Endcap 属性:属性:获取或设置通过此获取或设置通过此PenPen对象绘制的直线终对象绘制的直线终点的帽样式。点的帽样式。Pentype Pentype 属性:属性:获取或设置通过此获取或设置通过此PenPe
17、n对象绘制的直线对象绘制的直线的样式。该属性是一个的样式。该属性是一个DashStyleDashStyle枚举型的值。枚举型的值。线段起点和终点样式线段起点和终点样式见教材见教材172172页表格页表格8-5.8-5.VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1414页页六六.画刷对象画刷对象 画刷:画刷:用于指定填充的特性。许多窗口、控件及其他区用于指定填充的特性。许多窗口、控件及其他区域都需要用画刷进行填充绘制,它比画笔的内容更加丰域都需要用画刷进行填充绘制,它比画笔的内容更加丰富。在程序设计中,画填充图形时需要事先创建画刷对富。在程序设计中,画填充图形时需要事先
18、创建画刷对象。象。VB.NETVB.NET中提供了中提供了5 5种刷子种刷子的模式的模式:SolidBrushSolidBrush画刷:画刷:单色画刷单色画刷TexturebrushTexturebrush画刷:画刷:纹理纹理(图像图像)画刷画刷HatchBrushHatchBrush画刷:画刷:阴影画刷阴影画刷LinearGradientBrushLinearGradientBrush画刷:画刷:颜色渐变画刷颜色渐变画刷PathGradientBrushPathGradientBrush画刷:画刷:使用路径及复杂的混合色使用路径及复杂的混合色渐变画刷渐变画刷 说明:说明:前两种需引用命名空间
19、前两种需引用命名空间System.DrawingSystem.Drawing后三种需引用命名空间后三种需引用命名空间System.Drawing.Drawing2DSystem.Drawing.Drawing2DVB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1515页页1.SolidBrush1.SolidBrush画刷画刷(单色画刷单色画刷)所有所有BrushBrush之中最基础的一种,主要用途是将某一特定之中最基础的一种,主要用途是将某一特定区域区域填入单一的颜色填入单一的颜色。格式:格式:Dim Dim 对象名对象名 as New SolidBrush(Color)
20、as New SolidBrush(Color)2.Texturebrush2.Texturebrush画刷画刷(纹理纹理(图像图像)画刷画刷)纹理刷可以用一个纹理刷可以用一个图片图片来来填充图形填充图形。在创建纹理刷时,。在创建纹理刷时,需要使用一张图片。需要使用一张图片。格式:格式:Dim Dim 纹理刷对象纹理刷对象As New TextureBrush(New Bitmap(As New TextureBrush(New Bitmap(图片文件名图片文件名)VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1616页页3.HatchBrush3.HatchBrush画
21、刷画刷(阴影画刷阴影画刷)定义阴影画刷,定义前景色和背景色及阴影风格。前景定义阴影画刷,定义前景色和背景色及阴影风格。前景色定义线条的颜色,背景色定义各线条之间间隙的颜色。色定义线条的颜色,背景色定义各线条之间间隙的颜色。两种用法:两种用法:格式格式1 1:Dim Dim 对象名对象名 As New HatchBrush(As New HatchBrush(阴影样式阴影样式,前前景色景色)格式格式2 2:Dim Dim 对象名对象名 As New HatchBrush(As New HatchBrush(阴影样式阴影样式,前前景色景色,背景色背景色)常用属性:常用属性:BackgroundCo
22、lor:BackgroundColor:获取此获取此HatchBrushHatchBrush对象的背景色对象的背景色ForegroundColor:ForegroundColor:获取此获取此HatchBrushHatchBrush对象的前景色对象的前景色HatchStyle:HatchStyle:获取此获取此HatchBrushHatchBrush对象的阴影样式。阴影对象的阴影样式。阴影样式见教材样式见教材174174页表格页表格8-78-7VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1717页页4.LinearGradientBrush4.LinearGradien
23、tBrush画刷画刷(颜色渐变画刷颜色渐变画刷)渐变画刷的一种,用来产生渐变画刷的一种,用来产生线型渐变效果线型渐变效果。常用的渐变。常用的渐变效果是由两个颜色逐渐变化而来的。效果是由两个颜色逐渐变化而来的。格式:格式:Dim Dim 对象名对象名 as New as New LinearGradientBrushLinearGradientBrush(渐变的渐变的起始点,渐变的终结点,渐变的起始色起始点,渐变的终结点,渐变的起始色,渐变的终止色渐变的终止色)说明:说明:前两个参数是前两个参数是PointPoint结构型的变量结构型的变量;PointPoint结构是一个结构类型结构是一个结构类
24、型,表示一个点,有两个成员表示一个点,有两个成员x x和和y y,分别表示点的横坐标和纵坐标。,分别表示点的横坐标和纵坐标。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1818页页5.PathGradientBrush5.PathGradientBrush画刷画刷(使用路径及复杂的混合使用路径及复杂的混合色渐变画刷色渐变画刷)是路径渐变的,可以显示比较具有弹性的渐层效果。是路径渐变的,可以显示比较具有弹性的渐层效果。格式:格式:Dim Dim 对象名对象名 As New As New PathGradientBrushPathGradientBrush(points()
25、as(points()as System.Drawing.Point)System.Drawing.Point)说明说明:points():points():一个一个pointpoint结构的数组结构的数组,表示构成路径的顶点的表示构成路径的顶点的点。点。VB.NETVB.NET程序设计程序设计图形应用设计图形应用设计第第1919页页用法:用法:Dim g As GraphicsDim g As Graphics声明声明GraphicsGraphics对象对象g=PictureBox1.CreateGraphicsg=PictureBox1.CreateGraphics创建创建Graphics
展开阅读全文