书签 分享 收藏 举报 版权申诉 / 78
上传文档赚钱

类型[工学]第10章处理图形课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3368669
  • 上传时间:2022-08-24
  • 格式:PPT
  • 页数:78
  • 大小:559.43KB
  • 【下载声明】
    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方

    26、法。方法。Visual Basic程序设计教程22Visual Basic程序设计教程232 2画矩形采用格式:画矩形采用格式:对象名对象名.Line(x1,y1)-(x2,y2),颜色颜色,BF(x1,y1)和和(x2,y2)为矩形的两个对角顶点坐标为矩形的两个对角顶点坐标缺省缺省(x1,y1),表示当前输出位置作,表示当前输出位置作(x2,y2)的对角顶点的对角顶点参数参数B表示绘制矩形表示绘制矩形参数参数F表示矩形填充,即为实心的矩形表示矩形填充,即为实心的矩形如:如:Line(500,200)-Step(200,200),vbRed,B如:如:Line(500,200)-Step(20

    27、0,200),vbRed,BF若颜色缺省,逗号也不能省若颜色缺省,逗号也不能省Visual Basic程序设计教程24【例【例10-410-4】编制简易黑板。功能是:用鼠标左键在】编制简易黑板。功能是:用鼠标左键在窗体上拖动时,画出线条;用鼠标右键在窗体上拖窗体上拖动时,画出线条;用鼠标右键在窗体上拖动时,擦去线条。击动时,擦去线条。击“清除清除”擦去所有痕迹。擦去所有痕迹。事件:事件:窗体窗体MouseDownMouseDown:画出按下鼠标的第一点:画出按下鼠标的第一点窗体窗体MouseMoveMouseMove:画出线条或删除线条:画出线条或删除线条用背景色,画小矩形擦用背景色,画小矩形

    28、擦“清除清除”的的ClickClick:擦去所有痕迹:擦去所有痕迹Visual Basic程序设计教程25Private Sub Command1_Click()Private Sub Command1_Click()擦擦“黑板黑板”ClsClsEnd SubEnd SubPrivate Sub Form_Load()Private Sub Form_Load()初始化初始化 Form1.Caption=Form1.Caption=简易黑板简易黑板 Form1.BackColor=RGB(0,0,0)Form1.BackColor=RGB(0,0,0)Form1.ForeColor=RGB(2

    29、55,255,255)Form1.ForeColor=RGB(255,255,255)Command1.Caption=Command1.Caption=擦除擦除 End SubEnd SubVisual Basic程序设计教程26Private Sub Form_MouseDown(ButtonPrivate Sub Form_MouseDown(Button As Integer,Shift As As Integer,Shift As Integer,X As Single,Y As Single)Integer,X As Single,Y As Single)If Button=1 T

    30、hen Button=1 If Button=1 Then Button=1表示按下左键,表示按下左键,画第一点画第一点 Form1.PSet(X,Y)Form1.PSet(X,Y)End If End IfEnd SubEnd SubPrivate Sub Form_MouseMove(ButtonPrivate Sub Form_MouseMove(Button As Integer,Shift As As Integer,Shift As Integer,X As Single,Y As Single)Integer,X As Single,Y As Single)If Button=1

    31、 Then If Button=1 Then 左键拖动画线左键拖动画线 Form1.Line-(X,Y)Form1.Line-(X,Y)ElseIf ElseIf Button=2 Then Button=2 Then 右键拖动以黑色画实心方块,起擦除作用右键拖动以黑色画实心方块,起擦除作用 Form1.Line(X-200,Y-200)-(X+200,Y+200),Form1.Line(X-200,Y-200)-(X+200,Y+200),RGB(0,0,0),BFRGB(0,0,0),BF End If End IfEnd SubEnd SubVisual Basic程序设计教程2710.

    32、4.3 画圆、弧和椭圆画圆、弧和椭圆Circle方法方法 CircleCircle方法可画出圆、圆弧、扇形或椭圆。方法可画出圆、圆弧、扇形或椭圆。1 1画圆格式:画圆格式:对象名对象名.Circle Step(x,y),.Circle Step(x,y),半径半径 ,颜色颜色 Step(x,y)Step(x,y)表示圆心的坐标。表示圆心的坐标。半径的度量单位与容器坐标系的单位相同,不半径的度量单位与容器坐标系的单位相同,不能为负。能为负。画圆时,半径通常由水平单位指定。画圆时,半径通常由水平单位指定。Visual Basic程序设计教程28如下列代码绘制如图。如下列代码绘制如图。Scale(-

    33、50,20)-(50,-20)Scale(-50,20)-(50,-20)Line(-15,15)-(15,-15),BLine(-15,15)-(15,-15),BCircle(0,0),15Circle(0,0),15又如以窗体中心为圆心,以窗体又如以窗体中心为圆心,以窗体ScaleWidthScaleWidth的的1/41/4为半径画圆:为半径画圆:Circle(ScaleWidth/2+ScaleLeft,Circle(ScaleWidth/2+ScaleLeft,ScaleHeight/2+ScaleTopScaleHeight/2+ScaleTop),_),_ScaleWidthS

    34、caleWidth/4/4Visual Basic程序设计教程29【例【例10-510-5】编程,在窗体中间画】编程,在窗体中间画10001000个同心多彩圆。个同心多彩圆。编写通用过程编写通用过程PaintCirclePaintCircle:绘制彩色圆:绘制彩色圆Sub PaintCircleSub PaintCircle()()Dim R As Integer,X As Integer,Y As Integer Dim R As Integer,X As Integer,Y As Integer X=ScaleWidth X=ScaleWidth/2 /2 将将x x坐标设置在窗体内横向中

    35、间坐标设置在窗体内横向中间 Y=ScaleHeightY=ScaleHeight/2 /2 将将y y坐标设置在窗体内纵向中间坐标设置在窗体内纵向中间 If X Y Then R=X If X Y Then R=X*0.9 Else R=Y 0.9 Else R=Y*0.9 0.9 Circle(X,Y),R Circle(X,Y),R*Rnd,RGB(Rnd Rnd,RGB(Rnd*255,Rnd 255,Rnd*255,Rnd 255,Rnd *255)255)画圆画圆End SubEnd SubVisual Basic程序设计教程30 Private Sub Command1_Click

    36、()Private Sub Command1_Click()Dim i As IntegerDim i As IntegerFor i=1 To 1000For i=1 To 1000 PaintCircle PaintCircleNextNextEnd SubEnd Sub 其中乘其中乘0.90.9是为了最大圆不会紧贴窗体边缘。是为了最大圆不会紧贴窗体边缘。Visual Basic程序设计教程312 2画弧格式为:画弧格式为:对象名对象名.Circle Step(x,y),.Circle Step(x,y),半径半径,颜色颜色,Start,Start,End,AspectEnd,Aspect

    37、圆弧以弧度为单位,按逆时针方向画弧。圆弧以弧度为单位,按逆时针方向画弧。StartStart和和EndEnd表示弧线起始角和终止角的弧度数据表示弧线起始角和终止角的弧度数据平行于平行于X X轴的正向为轴的正向为0 0弧度弧度如果如果StartStart参数或参数或EndEnd参数是负数,则参数是负数,则VBVB将画一条连接圆心到将画一条连接圆心到负端点的直线。负端点的直线。使用不为使用不为1 1的的 AspectAspect参数,表示为椭圆弧线的一段。参数,表示为椭圆弧线的一段。如:如:Circle(800,800),500,-3.14/2,-3.14/3Circle(800,800),500

    38、,-3.14/2,-3.14/3Circle(1800,800),500,0,3 Circle(1800,800),500,0,3*3.14/4 3.14/4Visual Basic程序设计教程323 3画椭圆格式:画椭圆格式:对象名对象名.Circle Step(x,y),.Circle Step(x,y),半径半径,颜色颜色,Start,Start,End,AspectEnd,Aspect画圆还是画椭圆由圆的方位比画圆还是画椭圆由圆的方位比AspectAspect决定。它指定了垂直长度和水决定。它指定了垂直长度和水平长度的比例平长度的比例VBVB在在CircleCircle方法中的半径参数

    39、对应椭圆的长轴。方法中的半径参数对应椭圆的长轴。,颜色颜色,Start,End,Aspect,Start,End,Aspect四项中任一项都是可选的,当前面四项中任一项都是可选的,当前面的项缺省时,逗号仍不能省去。的项缺省时,逗号仍不能省去。省略省略Start,EndStart,End中的任一项,表示该项为中的任一项,表示该项为0 0,画弧。两项都省去,画弧。两项都省去,表示画圆或椭圆。表示画圆或椭圆。如以下代码,使用半径均为如以下代码,使用半径均为500500,但使用不同的方位比,其效果如,但使用不同的方位比,其效果如图。图。Circle(800,800),500,3Circle(800,8

    40、00),500,3Circle(800,800),500Circle(800,800),500Circle(2000,800),500,1/3Circle(2000,800),500,1/3Visual Basic程序设计教程3310.5.1 更改线条形式更改线条形式1 1DrawWidthDrawWidth属性属性DrawWidthDrawWidth属性可以设置线条的粗细、点的属性可以设置线条的粗细、点的大小大小DrawWidthDrawWidth属性值以像素为单位,取值范围属性值以像素为单位,取值范围为为132767132767当数据取得很大时,可能一个点就能占满整个容器。当数据取得很大时

    41、,可能一个点就能占满整个容器。Visual Basic程序设计教程34下面代码根据下面代码根据DrawWidthDrawWidth取值,效果如图。取值,效果如图。Private Sub Form_Click()Private Sub Form_Click()Dim i As Integer,t As IntegerDim i As Integer,t As Integert=ScaleWidth/20t=ScaleWidth/20For i=1 To 20 Step 2For i=1 To 20 Step 2 Form1.DrawWidth=i Form1.DrawWidth=i PSet(t

    42、 PSet(t*i,ScaleHeight/4)i,ScaleHeight/4)Line(t Line(t*i,ScaleHeight/2)-(t i,ScaleHeight/2)-(t*i,i,ScaleHeightScaleHeight)Next iNext iEnd SubEnd SubVisual Basic程序设计教程352 2DrawStyleDrawStyle属性属性DrawStyleDrawStyle属性用于指定绘制的图形线条形式。属性用于指定绘制的图形线条形式。DrawStyleDrawStyle属性取值为属性取值为0606,形式如表。,形式如表。6 6:内收实线,框线较粗时

    43、,:内收实线,框线较粗时,才可见效果,如图才可见效果,如图Visual Basic程序设计教程3610.5.2 填充图案填充图案 1 1FillStyleFillStyle属性属性设置封闭图形的填充图案样式,取值设置封闭图形的填充图案样式,取值0 0至至7 7缺省值为缺省值为1 1,无论何种色彩,均表现为空心。,无论何种色彩,均表现为空心。如希望窗体上显示各填充效果,可用代码:如希望窗体上显示各填充效果,可用代码:t=ScaleWidtht=ScaleWidth/9/9For I=0 To 7For I=0 To 7 FillStyle FillStyle=I=I Line(I Line(I*

    44、t+100,500)-(I+0.8)t+100,500)-(I+0.8)*t+100,500+1000),B t+100,500+1000),B Next I Next I Visual Basic程序设计教程372 2FillColorFillColor属性属性FillColorFillColor属性表示填充颜色属性表示填充颜色只要只要FillStyleFillStyle属性不为属性不为1 1,就可,就可FillColorFillColor填色填色VBVB填充矩形、圆、扇形等封闭图形填充矩形、圆、扇形等封闭图形FillColorFillColor属性的设置方式和属性的设置方式和ForeCol

    45、orForeColor相同相同Visual Basic程序设计教程38注意注意FillColorFillColor和和ForeColorForeColor的差别:的差别:前者用于填充颜色前者用于填充颜色后者为默认的边线颜色,或输出文字颜色。后者为默认的边线颜色,或输出文字颜色。若若LineLine语句中使用了参数语句中使用了参数F F,则所有的填充形式,则所有的填充形式和填充颜色都无效。和填充颜色都无效。Visual Basic程序设计教程39【例【例10-610-6】根据绘图属性,画扇形、画椭圆、画环。】根据绘图属性,画扇形、画椭圆、画环。对于圆环,没有单独语句,可用图形组合。对于圆环,没有

    46、单独语句,可用图形组合。Private Sub Command1_Click()Private Sub Command1_Click()画扇形。画扇形。FillStyleFillStyle=7=7 FillColor FillColor=RGB(255,0,0)=RGB(255,0,0)Circle(800,1000),800,-0.0001,-3.14 Circle(800,1000),800,-0.0001,-3.14*2/3 2/3End SubEnd SubVisual Basic程序设计教程40 Private Sub Command2_Click()Private Sub Comm

    47、and2_Click()画两个椭圆画两个椭圆 FillStyleFillStyle=1 =1 画一个红色点线的空心椭圆画一个红色点线的空心椭圆 DrawStyle=2:Circle(2300,500),400,vbRed,2DrawStyle=2:Circle(2300,500),400,vbRed,2 DrawStyle DrawStyle=0 =0 恢复默认的线条样式恢复默认的线条样式 FillStyleFillStyle=0 =0 画线宽画线宽3 3个像素,线条红色的个像素,线条红色的 一个实心黄椭圆一个实心黄椭圆 DrawWidth=3:FillColor=vbYellowDrawWi

    48、dth=3:FillColor=vbYellow Circle(2300,1200),400,vbRed,0.5 Circle(2300,1200),400,vbRed,0.5 DrawWidth DrawWidth=1 =1 恢复默认线宽恢复默认线宽End SubEnd SubPrivate Sub Command3_Click()Private Sub Command3_Click()绘制圆环绘制圆环 FillStyleFillStyle=4 =4 画一个有填充的大圆画一个有填充的大圆 FillColor=vbBlue:Circle(3500,1000),600,vbRedFillColo

    49、r=vbBlue:Circle(3500,1000),600,vbRed FillStyle FillStyle=0 =0 画一个实心的以背景色填充的同画一个实心的以背景色填充的同心小圆心小圆 FillColor=BackColor:Circle(3500,1000),300,vbRedFillColor=BackColor:Circle(3500,1000),300,vbRedEnd SubEnd Sub为了在为了在0弧度上能画上横线弧度上能画上横线,使用了使用了-0.0001Visual Basic程序设计教程4110.6.1 直线控件(直线控件(LineLine)直线控件可以在容器对象中

    50、绘制直线直线控件可以在容器对象中绘制直线该直线不能被该直线不能被ClsCls方法清除,方法清除,程序中修改端点可以移动直线。程序中修改端点可以移动直线。1 1创建直线控件:工具箱内选取直线工具创建直线控件:工具箱内选取直线工具Visual Basic程序设计教程422 2直线控件的主要属性直线控件的主要属性(名称)(名称)NameName。直线控件名称。缺省值为。直线控件名称。缺省值为Line1Line1BorderColorBorderColor:设置线条颜色:设置线条颜色BorderStyleBorderStyle:线条样式,取值为:线条样式,取值为0606,分别表示透明、,分别表示透明、

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:[工学]第10章处理图形课件.ppt
    链接地址:https://www.163wenku.com/p-3368669.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库