VB图形图像编程.ppt
《VB图形图像编程.ppt》由会员分享,可在线阅读,更多相关《VB图形图像编程.ppt(34页珍藏版)》请在三一办公上搜索。
1、第5章 图形图像编程,本章学习目标,了解.NET框架提供的的图形类库掌握基本图形绘制方法初步了解Visual Basic.NET语言处理位图图像功能GDI+坐标系统,颜色、Paint事件等。最后重点介绍五子棋、人物拼图案例。,目录,5.1 图形图像绘制基础知识5.2 绘制基本图形5.3 创建画刷填充图形5.4 图像处理5.5 文字处理5.6 五子棋游戏设计5.7 人物拼图游戏设计,5.1 图形图像绘制基础知识,5.1.1 GDI+概述 GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序
2、的图形输出。GDI+技术是由GDI技术“进化”而来,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。,5.1 图形图像绘制基础知识,图5-1展示了GDI+在应用程序与上述设备之间起着重要的中介作用。其中,GDI+为我们“包办”了几乎一切从把一个简单的字符串“HelloWorld”打印到控制台到绘制直线、矩形甚至是打印一个完整的表单等。,5.1 图形图像绘制基础知识,在Visual Basic.NET中,所有图形图像处理功能都在以
3、下命名空间下:1.System.Drawing命名空间 提供了对GDI+基本图形功能的访问,主要有Graphics类、Bitmap类、从Brush类继承的类、Font类、Icon类、Image类、Pen类、Color类等。2.System.Drawing.Drawing2D命名空间 Visual Basic.NET中没有3D命名空间,这是因为三维(3D)的效果实际上是通过二维(2D)的图案体现的。System.Drawing.Drawing2D命名空间提供了高级的二维和矢量图形功能。主要有梯度型画刷、Matrix类(用于定义几何变换)和GraphicsPath类等。3.System.Drawi
4、ng.Imaging命名空间 提供了高级 GDI+图像处理功能。4.System.Drawing.Text命名空间提供了高级 GDI+字体和文本排版功能。,5.1 图形图像绘制基础知识,5.1.2 Graphics类要进行图形处理,必须首先创建Graphics对象,然后才能利用它进行各种画图操作。创建Graphics对象的形式有:(1)在窗体或控件的Paint事件中直接引用Graphics对象 每一个窗体或控件都有一个Paint事件,该事件的参数中包含了当前窗体或控件的Graphics对象,在为窗体或控件创建绘制代码时,一般使用此方法来获取对图形对象的引用。Private Sub Form1_
5、Paint(ByVal sender As System.Object,ByVal e As System.Windows.Forms.PaintEventArgs)Handles MyBase.Paint Dim g As Graphics=e.Graphics End Sub,5.1 图形图像绘制基础知识,(2)从当前窗体或控件获取对Graphics对象的引用把当前窗体的画刷、字体、颜色作为缺省值获取对Graphics对象的引用,注意这种对象只有在处理当前Windows窗口消息的过程中有效。如果想在已存在的窗体或控件上绘图,可以使用此方法。例如:Dim g As Graphics=Me.P
6、ictureBox1.CreateGraphics(),5.1 图形图像绘制基础知识,(3)从继承自图像的任何对象创建Graphics对象。此方法在需要更改已存在的图像时十分有用。例如:Dim bitmap As New Bitmap(C:testa1.bmp)Dim g As Graphics=Graphics.FromImage(bitmap)在图形编程中,默认的图形度量单位是像素。不过,可以通过修改PageUnit属性来修改图形的度量单位,可以是英寸或是毫米等。实现方法如下:Dim g As Graphics=e.Graphics g.PageUnit=GraphicsUnit.Inch
7、,5.1 图形图像绘制基础知识,5.1.3 颜色GDI+中的许多绘图操作都涉及到颜色。例如,在绘制线条或矩形时都需要指定使用什么颜色。在自然界中,颜色大都由透明度(A)和三基色(R,G,B)所组成。在GDI+中,颜色封装在Color结构中.,5.1 图形图像绘制基础知识,Color结构中,除了提供(A,R,G,B)以外,还提供许多系统定义的颜色如Pink(粉颜色),也就说用户可以通过Color结构就可以使用系统定义的颜色。Color结构的基本属性如表1所示。表1 颜色的基本属性,5.1 图形图像绘制基础知识,在图像处理中一般需要获取或设置像素的颜色值,获取一幅图像的某个像素颜色值的具体步骤如下
8、:(1)定义BitmapBitmap myBitmap=new Bitmap(c:MyImagesTestImage.bmp)(2)定义一个颜色变量把在指定位置所取得的像素值存入颜色变量中Color c=new Color()c=myBitmap.GetPixel(10,10)/获取此Bitmap中指定像素的颜色。(3)将颜色值分解出单色分量值int r,g,b;r=c.R;/红色分量g=c.G;/绿色分量b=c.B;/蓝色分量,5.1 图形图像绘制基础知识,5.1.4 坐标在实际的绘图中,我们所关注的一般都是指设备坐标系,此坐标系以像素为单位,像素指的是屏幕上的亮点。每个像素都有一个坐标点与
9、之对应,左上角的坐标设为(0,0),向右为正,向下为正。一般情况下以(x,y)代表屏幕上某个像素的坐标点,其中水平以X坐标值表示,垂直以Y坐标值表示。例如,在图8-2所示的坐标系统中画一个点,该点的坐标(x,y)是(4,3)。,5.1 图形图像绘制基础知识,5.1.5 Paint事件 在屏幕上进行绘制的操作称为“绘画”。窗体和控件都有一个Paint事件。每当需要重新绘制窗体和控件(例如,首次显示窗体或窗体由另一个窗口覆盖)时就会发生该事件。用户所编写的用于显示图形的任何代码通常都包含在Paint事件处理程序中。,5.2 绘制基本图形,5.2.1 创建画笔 在GDI+中,可使用画笔(Pen)对象
10、于绘制具有指定宽度和样式的线条、曲线以及勾勒形状轮廓。画笔Pen类的构造函数有四种,使用方法如下。(1)创建某一颜色的Pen对象:Public Sub New(ByVal color As Color)(2)创建某一刷子样式的Pen对象:Public Sub New(ByVal brush As Brush)(3)创建某刷子样式并具有相应宽度的Pen对象:Public Sub New(ByVal brush As Brush,ByVal width As Single)(4)创建某一颜色和相应宽度的Pen对象:Public Sub New(ByVal color As Color,ByVal
11、width As Single),5.2.2 绘制直线,有两种绘制直线的方法:DrawLine()方法和DrawLines()方法。DrawLine()用于绘制一条直线,DrawLines()用于绘制多条直线。常用形式有:格式1:Overloads Public Sub DrawLine(ByVal pen As Pen,ByVal x1 As Integer,ByVal y1 As Integer,ByVal x2 As Integer,ByVal y2 As Integer)其中x1,y1为起点坐标,x2,y2为终点坐标。例如:e.Graphics.DrawLine(blackPen,10
12、0,100,200,100)格式2:Overloads Public Sub DrawLine(ByVal pen As Pen,ByVal pt1 As Point,ByVal pt2 As Point)其中Pen对象确定线条的颜色、宽度和样式。Point结构确定起点和终点。,5.2.3 绘制矩形,使用DrawRectangle()方法可以绘制矩形,常用形式有:格式1:Overloads Public Sub DrawRectangle(ByVal pen As Pen,ByVal rect As Rectangle)其中rect表示要绘制的矩形的Rectangle结构。格式2:Overlo
13、ads Public Sub DrawRectangle(ByVal pen As Pen,ByVal x As Single,ByVal y As Single,ByVal width As Single,ByVal height As Single)其中x,y为矩形左上角坐标值。参数width是要绘制矩形的宽度,参数height是要绘制矩形的高度。,5.2.4 绘制多边形,多边形分为空心多边形和填充多边形。(1)绘制空心多边形 Public Sub DrawPolygon(ByVal pen As Pen,ByVal point As Point()(2)绘制填充多边形 Public Su
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 图形图像 编程

链接地址:https://www.31ppt.com/p-6522633.html