第9章 图形操作ppt课件.pptx
《第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类中除了
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 图形操作ppt课件 图形 操作 ppt 课件
限制150内