第9章 图形操作ppt课件.pptx

上传人:春哥&#****71; 文档编号:16976471 上传时间:2022-05-20 格式:PPTX 页数:42 大小:2.20MB
返回 下载 相关 举报
第9章 图形操作ppt课件.pptx_第1页
第1页 / 共42页
第9章 图形操作ppt课件.pptx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《第9章 图形操作ppt课件.pptx》由会员分享,可在线阅读,更多相关《第9章 图形操作ppt课件.pptx(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第9章 图形操作本章内容n 了解GDI应用程序编程接口以及图形坐标系的概念。n 理解绘制基本图形的方法。n 掌握图片框控件的使用方法。第第9 9章章 图形操作图形操作23 GDIGDI(Graphics Device InterfaceGraphics Device Interface)是)是WindowsWindows操作系统用操作系统用来执行绘画及其他相关图形操作的应用程序编程接口,负责系来执行绘画及其他相关图形操作的应用程序编程接口,负责系统与绘图程序之间的信息交换,处理所有统与绘图程序之间的信息交换,处理所有WindowsWindows程序的图形程序的图形输出。输出。GDI+GDI+是

2、是GDIGDI的改进版,是一个完全面向对象的二维图形的改进版,是一个完全面向对象的二维图形系统。系统。GDI+GDI+为开发者提供了一组实现与各种设备(如显示器、为开发者提供了一组实现与各种设备(如显示器、打印机、文件)进行交互的方法,使开发者可以创建独立于设打印机、文件)进行交互的方法,使开发者可以创建独立于设备的应用程序。备的应用程序。9.19.1图形设计基础图形设计基础 GDI+ GDI+简介简介命名空间命名空间说说 明明System.Drawing提供对提供对GDI+基本图形功能的访问。基本图形功能的访问。System.Drawing.Drawing2D为绘制二维和矢量图形提供支持,主

3、要有为绘制二维和矢量图形提供支持,主要有Matrix类、类、HatchBrush类和类和GraphicsPath等。等。System.Drawing.Imaging提供提供GDI+ 图像处理功能。图像处理功能。System.Drawing.Text 提供绘制文字和文本排版功能。提供绘制文字和文本排版功能。表表9-1 GDI+9-1 GDI+基类的主要命名空间基类的主要命名空间41. System.Drawing1. System.Drawing命名空间命名空间在在System.DrawingSystem.Drawing命名空间中封装了命名空间中封装了GaphicsGaphics类、类、PenP

4、en类、类、BitmapBitmap类和类和ColorColor结构等,如表结构等,如表9-29-2所示,这些类和结构中定义所示,这些类和结构中定义了很多与绘制图形有关的属性和方法。了很多与绘制图形有关的属性和方法。 DIDI+ +简介简介表表9-2 System.Drawing9-2 System.Drawing命名空间中的常用类与结构命名空间中的常用类与结构类名类名/结构名结构名说明说明Bitmap用于位图图像处理。用于位图图像处理。Graphics提供绘制直线、弧线、多边形等基本图形的方法,也提供一些对图像的提供绘制直线、弧线、多边形等基本图形的方法,也提供一些对图像的处理方法,如转换、

5、旋转和缩放。处理方法,如转换、旋转和缩放。Pen定义绘制直线和曲线的画笔。定义绘制直线和曲线的画笔。Brush定义填充封闭图形的笔刷。定义填充封闭图形的笔刷。Color为笔刷或画笔定义颜色。为笔刷或画笔定义颜色。Font定义绘制的文本格式,包括字体、字号和字形属性。定义绘制的文本格式,包括字体、字号和字形属性。Point表示在二维平面中的点位置。表示在二维平面中的点位置。Size存储图形的大小,例如矩形的宽度和高度。存储图形的大小,例如矩形的宽度和高度。Image用于处理位图、指针、图标以及图元。用于处理位图、指针、图标以及图元。Rectangle定义矩形的位置和大小。定义矩形的位置和大小。S

6、tringFormat封装文本布局信息(如对齐、文字方向和封装文本布局信息(如对齐、文字方向和 制表位)、显示操作(如省略制表位)、显示操作(如省略号插入)和号插入)和 OpenType 功能。功能。9.19.1图形设计基础图形设计基础52 2基本结构基本结构 GDI+ GDI+简介简介(1 1)ColorColor结构结构 ColorColor结构涵盖结构涵盖了很多个分别与标准调色板中色彩对应的颜了很多个分别与标准调色板中色彩对应的颜色,如色,如Color.RedColor.Red代表红色,代表红色,Color.PurpleColor.Purple代表紫色。代表紫色。 也也可以调用可以调用C

7、olorColor结构的结构的FromArgbFromArgb方法创建自定义的颜色。方法创建自定义的颜色。FromArgbFromArgb方法的调用方法如下:方法的调用方法如下: Dim Dim 对象对象 As Color = Color.FromArgb(A, R, G, B) As Color = Color.FromArgb(A, R, G, B)Dim Dim 对象对象 As Color = Color.FromArgb(ARGB As Color = Color.FromArgb(ARGB) )参数参数R R、G G和和B B分别表示红、绿和蓝三种颜色分量值,分别表示红、绿和蓝三种颜

8、色分量值,A A表示表示alphaalpha分分量值量值。例如例如: Dim aColor As Color = Color.FromArgb(155, 155, Dim aColor As Color = Color.FromArgb(155, 155, 155)155) Dim dColor As Color = Dim dColor As Color = Color.FromArgb(&H7800FF00)Color.FromArgb(&H7800FF00)9.19.1图形设计基础图形设计基础62 2基本结构基本结构 GDIGDI+ +简介简介(2 2)Point/PointFPoint

9、/PointF结构结构Point/PointFPoint/PointF结构表示在二维平面中的一个点。声明和构造方结构表示在二维平面中的一个点。声明和构造方法如下:法如下:Dim Dim 对象对象 As New Point(X As New Point(X,Y)Y)Dim Dim 对象对象 As New PointF(X As New PointF(X,Y)Y)结构成员结构成员X X、Y Y分别表示点的分别表示点的x x轴和轴和y y轴的坐标轴的坐标。例如例如: Dim point1 As New Point(50, 250) Dim point1 As New Point(50, 250) D

10、im point2 As New PointF(100.0F, 25.0F) Dim point2 As New PointF(100.0F, 25.0F)9.19.1图形设计基础图形设计基础72 2基本结构基本结构GDIGDI+ +简介简介(3 3)Size/SizeFSize/SizeF结构结构 Size/SizeFSize/SizeF表示绘制平面上的一个尺寸,通常为矩形的宽表示绘制平面上的一个尺寸,通常为矩形的宽度和高度。声明和构造方法如下:度和高度。声明和构造方法如下:Dim Dim 对象对象 As New Size(W As New Size(W,H)H)Dim Dim 对象对象 A

11、s New SizeF(W As New SizeF(W,H)H)结构成员结构成员W W、H H分别表示宽和高分别表示宽和高。例如:例如: Dim asize As New Size(200, 300) Dim asize As New Size(200, 300)宽、高也可以用宽、高也可以用PointPoint、PointFPointF类型类型描述描述,例如:,例如: Dim point1 As New Point(50, 250) Dim point1 As New Point(50, 250) Dim bsize As New Size(point1) Dim bsize As New

12、Size(point1)9.19.1图形设计基础图形设计基础82 2基本结构基本结构GDIGDI+ +简介简介(4 4)RectangleRectangle/ / Rectangle RectangleF F结构结构RectangleRectangle/ / Rectangle RectangleF F结构表示一个结构表示一个矩形。矩形。声明和构造方法声明和构造方法如下:如下:Dim Dim 对象对象 As New Rectangle(X As New Rectangle(X,Y Y,W W,H)H)Dim Dim 对象对象 As New RectangleF(X As New Rectang

13、leF(X,Y Y,W W,H)H)结构成员结构成员X X、Y Y、W W、H H分别表示矩形左上角在画板中的位置以及分别表示矩形左上角在画板中的位置以及矩形的矩形的大小大小。例如例如: Dim aRec As New Rectangle(10, 20, 200, 300) Dim aRec As New Rectangle(10, 20, 200, 300)RectangleRectangle/ / Rectangle RectangleF F结构的成员也可以用结构的成员也可以用Point/PointFPoint/PointF和和Size/SizeFSize/SizeF表示,例如:表示,例如

14、: Dim point1 As New Point(50, 80) Dim point1 As New Point(50, 80) Dim size1 As New Size(100, 200) Dim size1 As New Size(100, 200) Dim brectangle As New Rectangle(point1, size1 Dim brectangle As New Rectangle(point1, size1) )9.19.1图形设计基础图形设计基础91 1基本概念基本概念9.1.2 9.1.2 坐标系坐标系GDI+GDI+使用三种坐标系:使用三种坐标系:(1 1

15、)世界()世界(WorldWorld)坐标系)坐标系:数学:数学上用的左手上用的左手坐标系。坐标系。(2 2)页面()页面(PagePage)坐标系:指绘图图面(如窗体或控件)坐标系:指绘图图面(如窗体或控件)使用的使用的坐标系坐标系,右,右手手坐标系。坐标系。(3 3)设备()设备(DeviceDevice)坐标系:是用于绘制图形的物理设备)坐标系:是用于绘制图形的物理设备(如屏幕或纸张)所使用的坐标系,以设备上的像素为单位(如屏幕或纸张)所使用的坐标系,以设备上的像素为单位。9.19.1图形设计基础图形设计基础102 2坐标变换坐标变换9.1.2 9.1.2 坐标系坐标系(1 1)平移变换

16、平移变换改变页面坐标空间的原点位置。平移是沿初始坐标系改变页面坐标空间的原点位置。平移是沿初始坐标系X X、Y Y轴轴的正方向进行,调用格式如下:的正方向进行,调用格式如下:(X X,Y Y)参数参数X X、Y Y是是SingleSingle类型,用于指定新坐标原点的位置。类型,用于指定新坐标原点的位置。例如例如 e.Graphics.TranslateTransform(100, 50) e.Graphics.TranslateTransform(100, 50)9.19.1图形设计基础图形设计基础112 2坐标变换坐标变换9.1.2 9.1.2 坐标系坐标系(2 2)比例变换)比例变换Sc

17、aleTransformScaleTransform方法用于将页面坐标空间进行缩放。调用格式方法用于将页面坐标空间进行缩放。调用格式如下:如下:(DX, DYDX, DY)(3 3)旋转变换)旋转变换RotateTransformRotateTransform方法用于将页面坐标空间旋转指定角度。调用方法用于将页面坐标空间旋转指定角度。调用格式如下:格式如下:(AngleAngle)(4 4)还原变换)还原变换ResetTransformResetTransform方法用于将当前坐标空间恢复为初始坐标空间。方法用于将当前坐标空间恢复为初始坐标空间。9.19.1图形设计基础图形设计基础122 2坐

18、标变换坐标变换9.1.2 9.1.2 坐标系坐标系【例【例9-19-1】 窗体出现时,在窗体上绘制一个正方形,然后变换窗体出现时,在窗体上绘制一个正方形,然后变换坐标空间(旋转坐标空间(旋转1010,x x方向的比例因子为方向的比例因子为 3 3,y y 方向的比例因方向的比例因子为子为 2 2,x x 方向平移方向平移100100个像素,个像素,y y方向平移方向平移1010个像素)后再绘个像素)后再绘制同一个图形,如图制同一个图形,如图9-29-2所示。所示。9.19.1图形设计基础图形设计基础131 1创建创建GraphicsGraphics对对象象9.29.2绘制图形绘制图形9.2.1

19、 Graphics9.2.1 Graphics对象对象创建创建GraphicsGraphics对象,则需先声明对象,则需先声明GraphicsGraphics类对象,方法如类对象,方法如下:下:Dim Dim 对象对象 As Graphics As Graphics然后然后创建创建GraphicsGraphics实例,有以下实例,有以下3 3种方法。种方法。(1 1)调用当前窗体或控件的)调用当前窗体或控件的CreateGraphicsCreateGraphics方法创建,在方法创建,在当前窗体或控件上绘制图形。格式如下:当前窗体或控件上绘制图形。格式如下:GraphicsGraphics对象

20、对象 = = 窗体窗体( (或控件或控件).CreateGraphics).CreateGraphics例如定义当前窗体为画板:例如定义当前窗体为画板: Dim myGraphics As Graphics = Dim myGraphics As Graphics = Me.CreateGraphicsMe.CreateGraphics141 1创建创建GraphicsGraphics对对象象(2 2)在窗体或控件的)在窗体或控件的PaintPaint或或OnPaintOnPaint事件中接收对图形对象事件中接收对图形对象的引用,利用的引用,利用PaintEventArgsPaintEvent

21、Args参数传递参数传递GraphicsGraphics对象,调用对象,调用e.Graphicse.Graphics方法创建画板。例如:方法创建画板。例如:Private Sub Form1_Paint(ByVal sender As Object, ByVal Private Sub Form1_Paint(ByVal sender As Object, ByVal e As _e As _System.Windows.Forms.PaintEventArgs) Handles Me.PaintSystem.Windows.Forms.PaintEventArgs) Handles Me.P

22、aint Dim myGraphics As Graphics = e.GraphicsDim myGraphics As Graphics = e.Graphics End Sub End Sub9.29.2绘制图形绘制图形9.2.1 Graphics9.2.1 Graphics对象对象151 1创建创建GraphicsGraphics对对象象(3 3)调用)调用Graphics.FromImageGraphics.FromImage方法从方法从 Image Image类的子类(如类的子类(如 Bitmap Bitmap 或或 Metafile Metafile)对象创建)对象创建 Grap

23、hics Graphics 对象,用来处理图对象,用来处理图像。例如:像。例如: Dim bm As New Bitmap(c:summer.jpg) Dim bm As New Bitmap(c:summer.jpg) Dim myGraphics As Graphics = Dim myGraphics As Graphics = Graphics.FromImage(bm)Graphics.FromImage(bm)9.29.2绘制图形绘制图形9.2.1 Graphics9.2.1 Graphics对象对象162 2GraphicsGraphics对象的属性对象的属性(1 1)Clip

24、Clip 属性属性指定画板中的绘图区域,指定画板中的绘图区域,RegionRegion类型。例如:类型。例如:e.Graphics.Clip = New Region(New Rectangle(10, 10, 100, e.Graphics.Clip = New Region(New Rectangle(10, 10, 100, 200)200)(2 2)PageUnit PageUnit 属性属性用于设置页面坐标系度量用于设置页面坐标系度量单位单位,默认为默认为PixelPixel。(3 3)PageScale PageScale 属性属性用于设置世界坐标系单位和页面坐标系单位之间的转换比

25、例用于设置世界坐标系单位和页面坐标系单位之间的转换比例。默认默认为为1 1。(4 4)DpiXDpiX与与DpiYDpiY属性属性用于获取用于获取GraphicsGraphics对象的水平分辨率和垂直分辨率。对象的水平分辨率和垂直分辨率。(5 5)IsClipEmptyIsClipEmpty属性属性用于判断用于判断 Graphics Graphics对象对象 的剪辑区域是否为空。的剪辑区域是否为空。9.29.2绘制图形绘制图形9.2.1 Graphics9.2.1 Graphics对象对象173 3GraphicsGraphics对象的方法对象的方法在在GraphicsGraphics类中除了

26、提供多种在画板上绘制图形的方法(如类中除了提供多种在画板上绘制图形的方法(如DrawArcDrawArc、DrawImageDrawImage、FillEllipseFillEllipse等)外,还提供了一些变等)外,还提供了一些变换画板的方法。换画板的方法。(1 1)画板)画板平移平移画板画板.TranslateTransform.TranslateTransform(X X,Y Y)(2 2)画板)画板缩放缩放画板画板.ScaleTransform.ScaleTransform(X X,Y Y)(3 3)画板)画板旋转旋转画板画板.RotateTransform.RotateTransfo

27、rm(AngleAngle)(4 4)清除画板)清除画板内容内容画板画板.Clear(C).Clear(C)9.29.2绘制图形绘制图形9.2.1 Graphics9.2.1 Graphics对象对象181 1画笔画笔9.2.2 9.2.2 绘图工具绘图工具绘制图形轮廓的工具,绘制图形轮廓的工具,GDI+GDI+在在System.DrawingSystem.Drawing命名空间提命名空间提供了供了PenPen类来定义画笔对象类来定义画笔对象。PenPen对象对象通过通过PenPen类类来创建,格式为:来创建,格式为:Dim Dim 画笔画笔As New PenAs New Pen(C C ,

28、WW)其中其中C C定义绘制线条的定义绘制线条的颜色;颜色;W W定义绘制线条的定义绘制线条的宽度,宽度,默认值默认值是是1 1。例如:。例如: Dim pen1 As New Pen(Color.Blue) Dim pen1 As New Pen(Color.Blue) Dim pen2 As New Pen(Color.Red, 2) Dim pen2 As New Pen(Color.Red, 2)9.29.2绘制图形绘制图形192 2画刷画刷在在.Net.Net应用程序中,如果要在闭合图形中填充颜色、图案,应用程序中,如果要在闭合图形中填充颜色、图案,必须先创建画刷(必须先创建画刷(B

29、rushBrush)对象)对象。GDI+GDI+在在命名空间提供了命名空间提供了5 5种画种画刷:刷: SolidBrushSolidBrush(单色画刷(单色画刷) HatchBrushHatchBrush(模式填充画刷(模式填充画刷) LinearGradientBrushLinearGradientBrush(填充颜色线性渐变的画刷(填充颜色线性渐变的画刷) PathGradientBrushPathGradientBrush(填充颜色沿路径渐变的画刷(填充颜色沿路径渐变的画刷) TextureBrushTextureBrush(使用图案进行填充的画刷(使用图案进行填充的画刷)9.2.2

30、 9.2.2 绘图工具绘图工具9.29.2绘制图形绘制图形202 2画刷画刷(1 1)单色画刷()单色画刷(SolidBrushSolidBrush)利用利用SolidBrushSolidBrush类可以定义一个单一颜色的画刷。格式为类可以定义一个单一颜色的画刷。格式为:Dim Dim 画刷画刷As New SolidBrush(C)As New SolidBrush(C)其中,其中,C C指定画刷颜色指定画刷颜色,例如,例如: Dim Brush1 As New SolidBrush(Color.Yellow Dim Brush1 As New SolidBrush(Color.Yellow

31、) )9.2.2 9.2.2 绘图工具绘图工具9.29.2绘制图形绘制图形212 2画刷画刷(2 2)模式填充画刷()模式填充画刷(HatchBrushHatchBrush)利用利用HatchBrushHatchBrush类可以定义一个用特定图案填充图形的画刷。类可以定义一个用特定图案填充图形的画刷。格式为:格式为:Dim Dim 画刷画刷As New HatchBrush(TAs New HatchBrush(T,F F ,B)B)其中其中T T指定填充的指定填充的图案;图案;F F指定用于填充的图案的指定用于填充的图案的前景色;前景色;B B指定用于填充的图案的指定用于填充的图案的背景色背

32、景色例如,定义一个用黑色横线、灰色阴影的水平线图案填充的例如,定义一个用黑色横线、灰色阴影的水平线图案填充的笔刷笔刷:Dim Dim hBrush As New HatchBrush(HatchStyle.Horizontal, hBrush As New HatchBrush(HatchStyle.Horizontal, Color.Black, Color.GrayColor.Black, Color.Gray) )9.2.2 9.2.2 绘图工具绘图工具9.29.2绘制图形绘制图形222 2画刷画刷(3 3)线性渐变画刷()线性渐变画刷(LinearGradientBrushLinear

33、GradientBrush)线性渐变画刷使用两种颜色渐变混合来填充图形,画刷在图线性渐变画刷使用两种颜色渐变混合来填充图形,画刷在图形中移动时,颜色会逐渐改变。例如,假定通过指定图形左边形中移动时,颜色会逐渐改变。例如,假定通过指定图形左边为蓝色、右边为绿色,当用水平渐变画笔填充该图形时,随着为蓝色、右边为绿色,当用水平渐变画笔填充该图形时,随着画笔从图形的左边移至右边,颜色就会由蓝色逐渐变为绿色。画笔从图形的左边移至右边,颜色就会由蓝色逐渐变为绿色。9.2.2 9.2.2 绘图工具绘图工具9.29.2绘制图形绘制图形232 2画刷画刷(4 4)纹理画刷()纹理画刷(TextureBrushT

34、extureBrush)使用纹理(图像)来绘制图形。定义纹理画刷的方法如下:使用纹理(图像)来绘制图形。定义纹理画刷的方法如下:Dim Dim 画刷画刷As New TextureBrush(image1)As New TextureBrush(image1)其中,参数其中,参数image1image1指定填充的指定填充的图像图像(5 5)路径渐变画刷()路径渐变画刷(PathGradientBrushPathGradientBrush) 画刷画刷类是类是的子类,因此,使用此类时,应先导入的子类,因此,使用此类时,应先导入命名空间,命名空间,即:即:9.2.2 9.2.2 绘图工具绘图工具9.

35、29.2绘制图形绘制图形243 3字体字体要绘制文本,须先创建字体(要绘制文本,须先创建字体(FontFont)对象)对象。FontFont对象通过对象通过FontFont类来创建,格式为:类来创建,格式为:Dim Dim 字体对象字体对象 As New Font(FN As New Font(FN,SS,STST,U)U)其中,其中,FNFN指定指定字体;字体;S S指定字指定字大小;大小;STST指定字体指定字体样式;样式;U U指定指定字大小的量度字大小的量度单位默认单位默认为为PixelPixel。9.2.2 9.2.2 绘图工具绘图工具9.29.2绘制图形绘制图形259.2.3 9.

36、2.3 绘制基本图形绘制基本图形表表9-5 Graphics9-5 Graphics类的基本绘图方法类的基本绘图方法方法说明DrawLine绘制直线。DrawEllipse绘制椭圆。DrawRectangle绘制矩形。DrawArc绘制弧线。DrawPolygon绘制多边形。DrawCurve绘制基数样条。DrawBezier绘制贝塞尔样条。DrawString绘制文本字符串。FillEllipse填充椭圆。FillRectangle填充矩形。FillPolygon填充多边形区域。FillRegion填充Region 对象的内部。9.29.2绘制图形绘制图形261 1绘制直线绘制直线通过通过G

37、raphicsGraphics类中的类中的DrawLineDrawLine方法来绘制直线,方法调用格式方法来绘制直线,方法调用格式如下:如下:画板画板.DrawLine.DrawLine(画笔,(画笔,X1X1,Y1Y1,X2X2,Y2Y2)或或画板画板.DrawLine.DrawLine(画笔,(画笔,P1P1,P2P2)第一种方法的第一种方法的(X1,Y1)(X1,Y1)和和(X2,Y2)(X2,Y2)是直线的起始点和终止点的是直线的起始点和终止点的坐坐标;标;第二种方法的第二种方法的P1P1、P2P2为直线为直线的起止点。的起止点。【例【例9-29-2】在窗体的】在窗体的PaintPai

38、nt事件中调用事件中调用DrawLineDrawLine方法在窗体(窗体大小为方法在窗体(窗体大小为320320240240)上画随机射线。)上画随机射线。9.2.3 9.2.3 绘制基本图形绘制基本图形9.29.2绘制图形绘制图形271 1绘制直线绘制直线GDI+GDI+还提供了还提供了DrawLinesDrawLines方法来绘制折线,方法调用格式如方法来绘制折线,方法调用格式如下:下:画板画板.DrawLines.DrawLines(画笔,(画笔,P P()()P P为为Point/PointFPoint/PointF结构的数组,其元素分别对应折线各个线结构的数组,其元素分别对应折线各个

39、线段的起点,每一个起点就是上一线段的终点。例如,在窗体的段的起点,每一个起点就是上一线段的终点。例如,在窗体的PaintPaint事件过程中加入以下代码:事件过程中加入以下代码:Dim Dim blackPen As New Pen(Color.Black, 3)blackPen As New Pen(Color.Black, 3)Dim Dim points As Point() = New Point(10, 10), New Point(10, 100), points As Point() = New Point(10, 10), New Point(10, 100), _ _ New

40、 Point(200, 50), New Point(250, 300) New Point(200, 50), New Point(250, 300)e.Graphics.DrawLines(blackPene.Graphics.DrawLines(blackPen, points), points)9.2.3 9.2.3 绘制基本图形绘制基本图形9.29.2绘制图形绘制图形282 2绘制形状绘制形状(1 1)绘制矩形)绘制矩形绘制空心矩形使用绘制空心矩形使用DrawRectangleDrawRectangle方法,绘制实心矩形使用方法,绘制实心矩形使用FillRectangleFillRe

41、ctangle方法,方法调用格式如下:方法,方法调用格式如下:画板画板.DrawRectangle.DrawRectangle(画笔,(画笔,X X,Y Y,W W,H H)或或画板画板.DrawRectangle.DrawRectangle(画笔,(画笔,RectRect)画板画板.FillRectangle.FillRectangle(画刷,(画刷,X X,Y Y,W W,H H)或或画板画板.FillRectangle.FillRectangle(画刷,(画刷,RectRect)9.2.3 9.2.3 绘制基本图形绘制基本图形9.29.2绘制图形绘制图形292 2绘制形状绘制形状(2 2

42、)绘制多边形)绘制多边形绘制空心多边形使用绘制空心多边形使用DrawPolygonDrawPolygon方法,绘制实心多边形使方法,绘制实心多边形使用用FillPolygonFillPolygon方法,方法调用格式如下:方法,方法调用格式如下:画板画板.DrawPolygon.DrawPolygon(画笔,顶点)(画笔,顶点)画板画板.FillPolygon.FillPolygon(画刷,顶点)(画刷,顶点)其中,顶点是一个其中,顶点是一个Point/PointFPoint/PointF结构类型的数组结构类型的数组【例【例9-39-3】 在当前窗体上绘制一个等腰梯形。在当前窗体上绘制一个等腰梯

43、形。Dim Dim g As Graphics = Me.CreateGraphicsg As Graphics = Me.CreateGraphicsDim Dim arrayPoints() As Point = New Point(3) _arrayPoints() As Point = New Point(3) _ New Point(0, 100), New Point(50, 50), New Point(150, 50), New Point(0, 100), New Point(50, 50), New Point(150, 50), New Point(200, 100)Ne

44、w Point(200, 100) g.DrawPolygon(Pens.Blue, arrayPoints) g.DrawPolygon(Pens.Blue, arrayPoints)9.2.3 9.2.3 绘制基本图形绘制基本图形9.29.2绘制图形绘制图形302 2绘制形状绘制形状(3 3)绘制圆)绘制圆/ /椭圆椭圆绘制空心圆绘制空心圆/ /椭圆使用椭圆使用DrawEllipseDrawEllipse方法,绘制实心圆方法,绘制实心圆/ /椭圆椭圆使用使用FillEllipseFillEllipse方法,方法调用格式如下:方法,方法调用格式如下:画板画板.DrawEllipse.Draw

45、Ellipse(画笔,(画笔,X X,Y Y,W W,H H)或或 画板画板.DrawEllipse.DrawEllipse(画笔,(画笔,RectRect)画板画板.FillEllipse.FillEllipse(画刷,(画刷,X X,Y Y,W W,H H)或或 画板画板.FillEllipse.FillEllipse(画刷,(画刷,RectRect)第一种方法中(第一种方法中(X,YX,Y)指定矩形左上角的坐标,)指定矩形左上角的坐标,W W和和H H指定矩指定矩形的宽和高;第二种方法中的形的宽和高;第二种方法中的RectRect为为Rectangle/RectangleFRectang

46、le/RectangleF结结构。方法中定义的矩形是要绘制的圆或椭圆的外切构。方法中定义的矩形是要绘制的圆或椭圆的外切矩形矩形9.2.3 9.2.3 绘制基本图形绘制基本图形9.29.2绘制图形绘制图形312 2绘制形状绘制形状【例【例9-49-4】 在在当前窗体上绘制如图当前窗体上绘制如图9-69-6所示同心圆和填充不同效所示同心圆和填充不同效果的椭圆。果的椭圆。9.2.3 9.2.3 绘制基本图形绘制基本图形9.29.2绘制图形绘制图形322 2绘制形状绘制形状(4 4)绘制弧线)绘制弧线绘制弧线使用绘制弧线使用DrawArcDrawArc方法,方法调用格式如下:方法,方法调用格式如下:画

47、板画板.DrawArc.DrawArc(画笔,(画笔,X X,Y Y,W W,H H,startAstartA,sweepAsweepA)或或 画板画板.DrawArc.DrawArc(画笔,(画笔,RectRect,startAstartA,sweepAsweepA)(5 5)绘制扇形图)绘制扇形图绘制空心扇形图使用绘制空心扇形图使用DrawPieDrawPie方法,绘制实心扇形图使用方法,绘制实心扇形图使用FillPieFillPie方法,方法调用格式如下:方法,方法调用格式如下:画板画板.DrawPie.DrawPie(画笔,(画笔,X X,Y Y,W W,H H,startAstart

48、A,sweepAsweepA)或或 画板画板.DrawPie.DrawPie(画笔,(画笔,RectRect,startAstartA,sweepAsweepA)画板画板.FillPie.FillPie(画刷,(画刷,X X,Y Y,W W,H H,startAstartA,sweepAsweepA)或或 画板画板.FillPie.FillPie(画刷,(画刷,RectRect,startAstartA,sweepAsweepA)9.2.3 9.2.3 绘制基本图形绘制基本图形9.29.2绘制图形绘制图形332 2绘制形状绘制形状【例【例9-59-5】 在当前窗体上绘制如图在当前窗体上绘制如图

49、9-79-7所示弧线和饼图。所示弧线和饼图。9.2.3 9.2.3 绘制基本图形绘制基本图形9.29.2绘制图形绘制图形343 3绘制文本绘制文本绘制绘制文本先要构造文本先要构造1 1个个BrushBrush对象和对象和1 1个个Font Font 对象,对象,然后调然后调用用GraphicsGraphics类的类的DrawStringDrawString方法来呈现文本。方法来呈现文本。DrawStringDrawString方法方法调用格式如下:调用格式如下:DrawString(StrDrawString(Str,TFontTFont,画刷,画刷,X X,Y ,StrFormat)Y ,S

50、trFormat)或或 DrawString(StrDrawString(Str,TFontTFont,画刷,画刷,P ,StrFormat)P ,StrFormat)或或 DrawString(StrDrawString(Str,TFontTFont,画刷,画刷,Rect ,StrFormat)Rect ,StrFormat)其中,其中,StrStr是要输出的是要输出的文本;文本;TFontTFont指定呈现文本时文字的字指定呈现文本时文字的字体、体、字形;字形;X X、Y Y,P P用于用于指定呈现文本的起始位置。指定呈现文本的起始位置。RectRect用于用于指指定文本的输出定文本的输出

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com