[工学]第10章处理图形课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《[工学]第10章处理图形课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工学 10 处理 图形 课件
- 资源描述:
-
1、大学计算机基础教程TaiYuan University of Technology第第1010章章 处理图形处理图形Visual Basic 程序设计教程程序设计教程Visual Basic程序设计教程2本章主要介绍本章主要介绍绘图属性绘图属性绘图方法绘图方法图片框图片框影像框影像框Visual Basic程序设计教程3图形一般指图绘形象,描画出物体的轮廓、形状图形一般指图绘形象,描画出物体的轮廓、形状等。等。由图元组成,图元可以是点、线、圆、字符、填充区等。由图元组成,图元可以是点、线、圆、字符、填充区等。每个图元有它的数据定义和外貌特征。如线段端点、粗细等。每个图元有它的数据定义和外貌特征
2、。如线段端点、粗细等。VBVB提供了一些控件和方法,绘制图元,最终构成图形提供了一些控件和方法,绘制图元,最终构成图形容器是绘制图形或控件的场所容器是绘制图形或控件的场所容器中的对象只能在容器内变动。容器中的对象只能在容器内变动。窗体、框架、图片框是容器窗体、框架、图片框是容器移动容器时,内部对象与容器的相对位置保持不变。移动容器时,内部对象与容器的相对位置保持不变。Visual Basic程序设计教程4VBVB容器的图层从前到后为:容器的图层从前到后为:前层前层非绘图控件所在层,如命令按钮、复选框等;非绘图控件所在层,如命令按钮、复选框等;中间层中间层绘图控件和标签所在层;绘图控件和标签所在
3、层;底层底层绘图方法显示结果的地方。绘图方法显示结果的地方。图层显示特性依靠图层显示特性依靠:AutoRedrawAutoRedraw和和ClipControlsClipControls属性的设置及绘图属性的设置及绘图方法是否在方法是否在PaintPaint事件过程内。事件过程内。图像一般是指绘制、摄制或印制的形象。图像一般是指绘制、摄制或印制的形象。可将它们装载到图片框、影像框可窗体上可将它们装载到图片框、影像框可窗体上Visual Basic程序设计教程5【例【例10-110-1】设计一个模拟单摆】设计一个模拟单摆控件:控件:图片框控件图片框控件Picture1Picture1:作单摆容器
4、:作单摆容器直线控件直线控件Line1Line1:作绳索:作绳索形状控件形状控件Shape1Shape1:作球(设计界面中为矩形):作球(设计界面中为矩形)定时器控件定时器控件Timer1Timer1:控制摆动。:控制摆动。Visual Basic程序设计教程62 2个模块级变量个模块级变量A A和和D D,表示摆动角度和方向。,表示摆动角度和方向。2 2个事件过程:个事件过程:Form_LoadForm_Load,初始化界面和控件属性,初始化界面和控件属性Timer1_TimerTimer1_Timer,控制单摆的运动。,控制单摆的运动。Visual Basic程序设计教程7 Option
5、ExplicitOption ExplicitDim A As Integer,D As Integer Dim A As Integer,D As Integer 模块级变量,模块级变量,A A表示角度,表示角度,D D表示方向表示方向Const PI=3.1415926Const PI=3.1415926Private Sub Form_Load()Private Sub Form_Load()Form1.Width=1.3 Form1.Width=1.3*Form1.Height Form1.Height 设置窗体的宽度和高度比例设置窗体的宽度和高度比例 Picture1.Width=1
6、.5 Picture1.Width=1.5*Picture1.Height Picture1.Height 设置图片框的宽度和高度比例设置图片框的宽度和高度比例 Picture1.Scale(-150,-5)-(150,195)Picture1.Scale(-150,-5)-(150,195)更改坐标系统更改坐标系统 Shape1.FillStyle=0 Shape1.FillStyle=0 使形状控件的填充模式为使形状控件的填充模式为 实心实心 Shape1.FillColor=vbRed Shape1.FillColor=vbRed 使形状控件填充红色使形状控件填充红色 Shape1.Bo
7、rderColor=vbRedShape1.BorderColor=vbRed 使形状控件的边界颜色为红色使形状控件的边界颜色为红色 Shape1.Width=15 Shape1.Width=15 按坐标系,更改形状控件大小按坐标系,更改形状控件大小 Shape1.Shape=3 Shape1.Shape=3 使形状控件的形状为圆形使形状控件的形状为圆形 Line1.BorderColor=vbRedLine1.BorderColor=vbRed 使绳索颜色为红色使绳索颜色为红色 Line1.X1=0:Line1.Y1=0 Line1.X1=0:Line1.Y1=0 使绳索上端在原点使绳索上端
8、在原点(0,0)(0,0)上上 Picture1.AutoRedraw=True Picture1.AutoRedraw=True 使图片框的重绘属性为使图片框的重绘属性为TrueTrue Picture1.Line(-10,0)-(10,0)Picture1.Line(-10,0)-(10,0)顶端画一条固定绳索的横线顶端画一条固定绳索的横线 Timer1.Interval=100Timer1.Interval=100 A=-20:D=-1 A=-20:D=-1 设置初始角度和方向设置初始角度和方向End SubEnd SubVisual Basic程序设计教程8 Private Sub T
9、imer1_Timer()Private Sub Timer1_Timer()Dim X As Single,Y As Single Dim X As Single,Y As Single If D=-1 Then A=A+2 Else A=A-2 If D=-1 Then A=A+2 Else A=A-2 X=170 X=170*Sin(A Sin(A*PI/180)PI/180)确定圆心和直线下确定圆心和直线下端的位置端的位置 Y=170 Y=170*Cos(A Cos(A *PI/180)PI/180)Line1.X2=X:Line1.Y2=Y Line1.X2=X:Line1.Y2=Y
10、 更改直线下端位置更改直线下端位置 Shape1.Left=X-Shape1.Width/2 Shape1.Left=X-Shape1.Width/2 使圆心位置在直线的下端使圆心位置在直线的下端 Shape1.Top=Y-Shape1.Height/2Shape1.Top=Y-Shape1.Height/2 If D=-1 And A=20 Or D=1 And A=-20 Then D=-D If D=-1 And A=20 Or D=1 And A=-20 Then D=-D 2020改方向改方向End SubEnd SubScaleScale方法使图片框左上角和右下角坐标分别为方法使图
11、片框左上角和右下角坐标分别为(-150,-5)(-150,-5)和和(150,195)(150,195)。而而170170表示着绳索的长度,可以取其它值,但应使整个单摆可见。表示着绳索的长度,可以取其它值,但应使整个单摆可见。Visual Basic程序设计教程9坐标系是用于确定数与基本几何对象之间对应关坐标系是用于确定数与基本几何对象之间对应关系的参考系,是形和数结合的基础。系的参考系,是形和数结合的基础。VBVB坐标系是确定对象和图形位置的参考系。坐标系是确定对象和图形位置的参考系。VBVB中每一个容器采用中每一个容器采用(x,y)(x,y)的二维坐标系统的二维坐标系统每个对象、图形操作,
12、都要使用坐标系。每个对象、图形操作,都要使用坐标系。VBVB坐标系统使用有以下规则:坐标系统使用有以下规则:移动或调整控件大小时,使用容器的坐标系统。移动或调整控件大小时,使用容器的坐标系统。绘图方法和绘图方法和PrintPrint方法,使用容器的坐标系统。方法,使用容器的坐标系统。Visual Basic程序设计教程1010.3.1 VBVB默认坐标系默认坐标系VBVB坐标系每个点用坐标系每个点用(x,y)(x,y)表示表示x x是水平方向沿是水平方向沿x x轴的位置,默认最左端是轴的位置,默认最左端是0 0y y是垂直方向沿是垂直方向沿y y轴的位置,默认最上端是轴的位置,默认最上端是0
13、0坐标单位又称为坐标刻度,默认缇(坐标单位又称为坐标刻度,默认缇(twipstwips)。还可以使用磅、像素和毫米等。还可以使用磅、像素和毫米等。屏幕的左上角的坐标总是屏幕的左上角的坐标总是(0,0)(0,0)Visual Basic程序设计教程11其它容器在其它容器在下,左上角是下,左上角是(0,0)(0,0)。窗体窗体(0,0)(0,0)点指窗体标题栏下边沿的左上角。点指窗体标题栏下边沿的左上角。使用对象的刻度属性和使用对象的刻度属性和ScaleScale方法,可重新设置方法,可重新设置容器的坐标系统。容器的坐标系统。Visual Basic程序设计教程1210.3.2 Scale方法方法
14、使用使用ScaleScale方法可以创建自定义刻度。方法可以创建自定义刻度。ScaleScale方法的使用格式为:方法的使用格式为:容器名容器名.Scale(x1,y1)-(x2,y2).Scale(x1,y1)-(x2,y2)1 1容器名指窗体名或图片框控件名。容器名指窗体名或图片框控件名。缺省指当前窗体缺省指当前窗体2 2(x1,y1)(x1,y1)和和(x2,y2)(x2,y2)为新坐标系统左上角和右下角坐标为新坐标系统左上角和右下角坐标3 3省略省略(x1,y1)-(x2,y2)(x1,y1)-(x2,y2),恢复缺省刻度。,恢复缺省刻度。Visual Basic程序设计教程13 例例
15、10-110-1中中Picture1.Scale(-150,-5)-(150,Picture1.Scale(-150,-5)-(150,195)195)更改图片框坐标系如上图。更改图片框坐标系如上图。这样求运动点这样求运动点(x,y(x,y)的位置比较方便的位置比较方便设绳索长为设绳索长为170170,则当绳索与,则当绳索与y y轴的夹角为轴的夹角为a a时,时,则则x=170sinax=170sina,y=170cosay=170cosa。Visual Basic程序设计教程1410.3.3 坐标属性坐标属性使用坐标属性可以更改容器的坐标刻度,也可以使用坐标属性可以更改容器的坐标刻度,也可以
16、自定义坐标系。自定义坐标系。ScaleModeScaleMode:设置坐标刻度,缺省值为:设置坐标刻度,缺省值为1 1(缇)(缇)ScaleLeftScaleLeft:表示或设置对象左边界水平坐标:表示或设置对象左边界水平坐标ScaleTopScaleTop:表示或设置对象上边界垂直坐标:表示或设置对象上边界垂直坐标ScaleWidthScaleWidth:表示或设置对象内水平度量单位数:表示或设置对象内水平度量单位数ScaleHeightScaleHeight:表示或设置对象内垂直度量单位数:表示或设置对象内垂直度量单位数CurrentXCurrentX:当前输出的水平坐标。程序中使用。:当
17、前输出的水平坐标。程序中使用。CurrentYCurrentY:当前输出的垂直坐标。程序中使用。:当前输出的垂直坐标。程序中使用。Visual Basic程序设计教程15属性说明:属性说明:ScaleWidthScaleWidth、ScaleHeightScaleHeight不同于不同于WidthWidth、HeightHeightScaleModeScaleMode属性可以取值属性可以取值0707,表示刻度分别为,表示刻度分别为自定义自定义、缇、磅、像素、缇、磅、像素、字符、字符、英寸、英寸、毫米、毫米和厘米。和厘米。更改更改ScaleWidthScaleWidth、ScaleHeightS
18、caleHeight、ScaleLeftScaleLeft、ScaleTopScaleTop之之 一时,一时,VBVB自动将自动将ScaleModeScaleMode的值设为的值设为0 0。如如Scale(-150,-5)-(150,195)Scale(-150,-5)-(150,195),也可以表示成:,也可以表示成:ScaleWidthScaleWidth=300:ScalHeight=200:ScaleLeft=300:ScalHeight=200:ScaleLeft=-=-150:ScaleTop=-5150:ScaleTop=-5若要改坐标轴方向,可将若要改坐标轴方向,可将Scale
19、WidthScaleWidth或或ScaleHeightScaleHeight设置成设置成负负值值Visual Basic程序设计教程16ScaleModeScaleMode属性取值为属性取值为1717时的刻度,称为标准时的刻度,称为标准刻度刻度在设置了在设置了ScaleModeScaleMode属性的值后,属性的值后,VBVB会重定义会重定义ScaleWidthScaleWidth和和ScaleHeightScaleHeight,使它们与新刻度,使它们与新刻度保持一致。保持一致。左上角坐标总是:左上角坐标总是:(ScaleLeft,ScaleTop(ScaleLeft,ScaleTop)右下
20、角坐标总是:右下角坐标总是:(ScaleLeft+ScaleWidth,ScaleTop(ScaleLeft+ScaleWidth,ScaleTop +ScaleHeight+ScaleHeight)。Visual Basic程序设计教程1710.4.1 画点画点PSet方法方法绘图方法可画点、画线、画矩形、画椭圆等。绘图方法可画点、画线、画矩形、画椭圆等。格式:格式:对象名对象名.PSet.PSet(x,y),(x,y),颜色颜色 1 1(x,y)(x,y)为所画点的坐标位置为所画点的坐标位置2 2颜色指点的颜色。缺省时由容器的颜色指点的颜色。缺省时由容器的ForeColorForeColo
21、r属性决定。属性决定。例如:例如:PSetPSet(1000,1000),RGB(255,0,0)(1000,1000),RGB(255,0,0)在在(1000,1000)(1000,1000)处画红点,大小由容器的处画红点,大小由容器的DrawWidthDrawWidth属性决属性决定。定。3 3擦除一个点,可采用以背景色重画点。擦除一个点,可采用以背景色重画点。4 4 ClsCls方法可擦除绘图方法及方法可擦除绘图方法及PrintPrint方法的输出内容。方法的输出内容。Visual Basic程序设计教程18【例【例10-210-2】绘制一条】绘制一条y=xy=x2 2的抛物线。的抛物线
22、。Private Sub Form_Click()Private Sub Form_Click()Dim x As Single Dim x As Single Scale(-10,105)-(10,-2)Scale(-10,105)-(10,-2)For x=-9 To 9 Step 0.01 For x=-9 To 9 Step 0.01 PSet PSet(x,x (x,x*x)x)Next x Next xEnd SubEnd SubVisual Basic程序设计教程1910.4.2 画直线和矩形画直线和矩形LineLine的方法的方法使用使用LineLine方法可以画出直线或矩形。
23、方法可以画出直线或矩形。1 1画线格式:画线格式:对象名对象名.Line(x1,y1)-(x2,y2).Line(x1,y1)-(x2,y2),颜色颜色(x1,y1)(x1,y1)和和(x2,y2)(x2,y2)分别为起点和终点坐标分别为起点和终点坐标如:如:Line(100,150)-(1400,1300),vbRedLine(100,150)-(1400,1300),vbRed 缺省起点缺省起点 (x1,y1)(x1,y1),表示将当前输出位置作为,表示将当前输出位置作为 起点。起点。Visual Basic程序设计教程20坐标点的另一种表示形式为:坐标点的另一种表示形式为:Step(x,
24、y)Step(x,y)是相对位置的表示法,表示当前输出位置水平方向加上是相对位置的表示法,表示当前输出位置水平方向加上x x,垂直方向加上垂直方向加上y y后得到的坐标点。后得到的坐标点。对象的当前位置由对象的当前位置由CurrentXCurrentX和和CurrentYCurrentY决定决定Line(100,200)-(150,250)Line(100,200)-(150,250)等价等价:Line(100,200)-Line(100,200)-Step(50,50)Step(50,50)VBVB画直线时,包括了起点,未包括终点。画终画直线时,包括了起点,未包括终点。画终点可用:点可用:P
25、Set Step(0,0),color连续使用缺省起点的连续使用缺省起点的LineLine方法,可以绘制多点方法,可以绘制多点折线。折线。Visual Basic程序设计教程21【例【例10-310-3】在窗体上中间画出一个等腰三角形。】在窗体上中间画出一个等腰三角形。可根据窗体可根据窗体ScaleWidthScaleWidth和和ScaleHeightScaleHeight属性确定属性确定三点位置三点位置由于一条线的终点等价于另一条线的起点,因由于一条线的终点等价于另一条线的起点,因此除了第一条线以外,其它两条线均可用缺省此除了第一条线以外,其它两条线均可用缺省起点的起点的LineLine方
展开阅读全文