第8章VB图形设计.ppt

上传人:sccc 文档编号:5928984 上传时间:2023-09-05 格式:PPT 页数:59 大小:402.04KB
返回 下载 相关 举报
第8章VB图形设计.ppt_第1页
第1页 / 共59页
第8章VB图形设计.ppt_第2页
第2页 / 共59页
第8章VB图形设计.ppt_第3页
第3页 / 共59页
第8章VB图形设计.ppt_第4页
第4页 / 共59页
第8章VB图形设计.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《第8章VB图形设计.ppt》由会员分享,可在线阅读,更多相关《第8章VB图形设计.ppt(59页珍藏版)》请在三一办公上搜索。

1、VB程序设计教程,沈美莉 马银晓 陈孟建 编著,1,第八章 图形设计,一、坐标系统二、绘制线段三、绘制圆、椭圆和弧,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,2,第一节 坐标系统,一、坐标系统定义为了确定图形在窗体中的具体位置,Visual Basic提供了窗口坐标,一个完整的直角坐标系,用于确定一个控件或一个图形在容器中的位置,所以,一个完整的直角坐标系应规定某坐标原点,X轴和Y轴的方向及其刻度单位。在这样一个具有完整坐标系的容器中,一个控件的位置就可以用该控件左上角的坐标(x,y)来表示,一段直线就可以用其起始点的坐标(x1,y1)和终点(x2,y2)来表示,一个矩形就可用其左下角的

2、坐标(x1,y1)和右上角的坐标(x2,y2)来表示了。1.系统默认的坐标系统在Visual Basic语言中的窗口坐标系统与数学中的平面几何坐标系统不一样,窗口坐标系统以窗口的左上角为原点(0,0),X轴方向从左向右,而Y轴方向则从上至下,如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,3,第一节 坐标系统,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,4,第一节 坐标系统,Visual Basic缺省的坐标刻度单位为Twip(缇)。Twip是印刷单位,1个Twips为Point(点)的1/120,72Point为1英寸,这样,1英寸就为1440twip。1厘米为567Twi

3、p。Visual Basic提供了8种坐标系,如下表所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,5,第一节 坐标系统,2.自定义坐标系统在程序设计过程中,特别是在进行图形设计过程中,往往需要改变Visual Basic的默认坐标系统,这时,可以通过设置窗体和图片框等容器对象的ScaleMode、ScaleLeft、ScaleTop、ScaleWidth、ScaleHeight等属性来实现。(1)ScaleMode属性,该属性主要用来确定坐标系统的刻度单位,其数据类型为整型,可以是以下值之一。0User:该选项是用户自定义刻度单位,具体由ScaleWidth和ScaleHeight算

4、出。1Twip:该选项是以“缇”为单位,系统的缺省值。2Point该选项是以“磅”为单位,1英寸=72磅。3Pixel该选项是以像素为单位,分辨率的最小单位。4Character该选项是以字符为单位,水平1个字符=120缇,垂直1个字符=240缇。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,6,第一节 坐标系统,5Inch该选项是以英寸为单位。6Millimeter该选项是以毫米为单位。7Centimeter该选项是以厘米为单位。(2)ScaleWidth属性,该属性主要来设置以下三个方面的值。其数据类型为数值型。可以用来表示容器的内部宽度,如果设置ScaleWidth=5,即表示容器内

5、部宽度为5个单位。可以算出自定义坐标系X轴的刻度单位,例如,当容器实际内部宽度为2000缇,而当前ScaleWidth属性值设置为5,则X轴的每一个刻度表示2000/5=400缇。可以设置为负值,则表示反转X轴的方向,即自定义坐标系的X轴与系统默认X轴的正向反向。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,7,第一节 坐标系统,(3)ScaleHeight属性,该属性主要用来设置以下三个方面的值,其数据类型为数值型。可以用来表示容器的内部高度,如果设置ScaleHeight=5,即表示容器内部高度为5个单位。可以算出自定义坐标系Y轴的刻度单位,例如,当容器实际内部高度为1000缇,而当前

6、ScaleHeight属性值设置为2,则Y轴的每一个刻度表示1000/2=500缇。可以设置为负值,则表示反转y轴的方向,即自定义坐标系的y轴与系统默认y轴的正向反向。(4)ScaleLeft属性,该属性主要用来设置在自定义坐标系统中,定义容器左上角向右为X坐标。(5)ScaleTop属性,该属性主要用来设置在自定义坐标系统中,定义容器左上角向下为Y坐标。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,8,第一节 坐标系统,3.当前坐标系统当在对象中绘制图形或输出结果时,常常需要将图形或输出结果定位在某一希望的位置处,为此,Visual Basic专门在其窗体和图片框等对象中定义了两个属性,

7、CurrentX和CurrentY,用来指示下一次输出在哪里位置,这就是当前坐标,其中CurrentX表示输出位置的X轴坐标,CurrentY表示输出位置的Y轴坐标。CurrentX和CurrentY属性:该属性主要用来确定当前绘图点的X轴坐标和Y轴坐标,其数据类型为数值型。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,9,第一节 坐标系统,二、改变系统坐标的方法1.改变系统坐标属性可以利用改变系统坐标的属性值来改变系统坐标,例如,通过下面的程序代码可以改变系统的坐标。【程序代码】form1.scalemode=0form1.scalewidth=2form1.scaleheight=-2

8、scaleleft=-1scaletop=-1执行以上的程序代码后,可以定义一个完整的坐标系统,即坐标原点在窗体中心,X轴向右为正方向,Y轴向上为正方向。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,10,第一节 坐标系统,2.利用Scale方法改变系统坐标除了使用以上的属性可以改变系统的坐标外,还可以调用容器的Scale方法来自定义坐标系统。Scale方法如下:.(x1,y1)-(x2,y2)该方法的功能是将容器的左上角坐标定义为(x1,y1),将右下角坐标定义为(x2,y2),如果省略则默认为是当前窗体。如果省略“(x1,y1)-(x2,y2)”则将坐标系统还原为系统默认的坐标系统。,

9、VB程序设计教程,沈美莉 马银晓 陈孟建 编著,11,第一节 坐标系统,三、图像分辨率Visual Basic绘图中的点是以显示器像素为标准的,设置一个点的颜色是设置窗体对应着的显示器的一个像素的颜色。1.显示器简介显示器是计算机最主要的外部设备之一。显示系统由显示器和适配卡(显示卡)组成,两者必须配对。2.显示分辨率显示分辨率是指屏幕上有多少个基本像素点。显示系统的分辨率是指显示卡和显示器两者的分辨率。不同分辨率的显示器应与相对应分辨率的显示卡配套使用,才能获得所希望达到的显示效果。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,12,第一节 坐标系统,3.显示速度显示速度是指显示图像或文

10、字时的速度。由于显示分辨率和显示器的扫描频率有关,显示分辨率高时,一个完整屏幕的像素点就增多了,所有像素都要显示一遍,速度就要慢下来,这就需要提高扫描频率。4.颜色和灰度颜色和灰度是衡量显示系统性能的又一重要参数。早期的显示卡MDA配单色的显示器只能显示字符,仅有一般亮度和高亮度两种灰度,彩色显示系统最多也只有16种颜色。而目前的颜色显示系统VGA,可达256种颜色甚至更多。5.图形显示能力图形显示能力是指屏幕上的每一个像素点可以设置成不同值的能力。早期的单色显示系统MDA是字符型的,不支持图形显示,它的控制比较简单。而随后出现的显示系统均能支持图形显示。,VB程序设计教程,沈美莉 马银晓 陈

11、孟建 编著,13,第一节 坐标系统,四、几个数字图像的重要概念1色阶(1evels)色阶是指各种图像色彩模式下图形原色(如RGB模式下的原色为R,G,B和RGB四种)的明暗度,色阶的调整也就是明暗度的调整。色阶的范围为0255,也就是说,总共包含256种色阶。2色调(Hue)图像通常被划分为多个色调(如绿色、红色),其中包含一个主色调。色调调整也就是旨将图像颜色在各种颜色之间进行调整,用户可分别调整各色调。3饱和度(Saturation)饱和度是指图像颜色的彩度或鲜艳程度(如更红或更绿),将一个图像的饱和度降至-100时图像即变为灰度图。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,14,

12、第一节 坐标系统,4亮度(Brightness)亮度是指图像中明暗程度的平衡,它决定了明暗色调的强度。5对比度(Contrast)对比度是指不同颜色之间的差异。对比度越大,两种颜色之间的差异就越大。例如,将一幅灰度图像的对比度增加后,黑白颜色对比会更加鲜明。当对比度增加到极限时,一幅灰度图像将只剩下黑白两色;而将对比度减小到极限时,一幅灰度图像将只剩下灰色底图。6色域(Gamut)事实上,人眼所能看见的光、色范围非常广泛,而由计算机的彩色屏幕按RGB模式或由彩色印刷品按CYMK模式所表示出来的光与色,只不过是其中的一部分。,返回本章首页,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,15,第

13、二节 绘制线段,一、简单画点1.画点方法在Visual Basic中提供了画点的函数,其格式如下:.Pset(x,y),Color 功能:在该对象中的X轴和Y轴上画一个点,若选择了,Color参数,则画出的点具有颜色。【例题6.3】使用画点函数画出99个点,颜色选择为黑色,即RGB(10,10,10),画点原点为系统默认坐标原点(0,0)。Private Sub Command1_Click()Dim i As IntegerFor i=0 To 99PSet(i*50,i*50),RGB(10,10,10)NextEnd Sub,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,16,第二节

14、绘制线段,2.清除点清除点的方法是采用把某一点的背景颜色设置为(Back Color),其格式如下:.Pset(x,y)功能:清除画点。【例题6.4】利用Pset函数在窗体上画出由下列参数方程决定的曲线:在窗体下的Click过程下,绘制以上的曲线为星形线,其程序代码如下:Private Sub Form_Click()Form1.Scale(-1,1)-(1,-1)DrawWidth=2For t=0 To 2*3.14259265 Step 0.001x=Sin(2*t)*Cos(t)y=Sin(2*t)*Sin(t)PSet(x,y),QBColor(2)Next tEnd Sub运行该程

15、序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,17,第二节 绘制线段,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,18,第二节 绘制线段,【例题6.5】使用画点函数画出99个点,颜色选择为黑色,即RGB(10,10,10),画点原点为系统默认坐标原点(0,0)。单击“画点”按钮,即可99个点,单击“清点”按钮后,即可清除刚画好的这99个点。以下程序是在例题6.3的基础上再增加一段“清除点”的程序。【程序代码】Private Sub Command2_Click()Dim i As IntegerFor i=0 To 99PSet(i*50,i*50),Back

16、 ColorNextEnd Sub运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,19,第二节 绘制线段,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,20,第二节 绘制线段,二、绘制线段1.简单画线方法格式:.Line Step(x1,y1)-step(x2,y2),BF功能:在控件上,画出一条从(x1,y1)到(x2,y2)的线段。其中(x1,y1)和,为可选项。参数x和y既可以是整数,又可以是小数。说明:(1):表示要绘制线段的对象名称,例如,窗体、图片框等。省略时默认为当前窗体。(2)(x1,y1):表示要绘制线段的起始坐标位置,是可选项。该参前面

17、带有Step选项,表示相对于(CurrentX,CurrentY)的坐标,否则为相对于当前坐标系的坐标。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,21,第二节 绘制线段,(3)(x2,y2):表示绘制线段的终点坐标,是必选项,如果(x2,y2)前面带有Step选项,则表示相对于(CurrentX,CurrentY)的坐标,否则为相对于当前坐标系的坐标。(4):表示绘制线段的颜色选择,是可选项,若省略时,则使用对象当前的前景色,也就是当前的Forecolor属性的值。(5)B:表示是否画矩形,是可选项,当选择该参数时,矩形左上角的坐标为(x1,y1),矩形右下角的坐标为(x2,y2)。(

18、6)F:是可选项,如果选择了B后再选择F参数,则矩形的填充颜色取矩形的边框颜色,如果只选择B参数,而不选择F参数,则矩形的填充取当前对象的FillColor属性和FillSytle属性所指的颜色。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,22,第二节 绘制线段,【例题6.6】利用画线函数在窗体上画出两条对角直线,当改变窗体大小或双击鼠标器时,可以删除该对角线。(1)窗体单击事件将画出两条对角线Private Sub Form_Click()Line(0,0)-(ScaleWidth,ScaleHeight)Line(0,ScaleHeight)-(ScaleWidth,0)End Su

19、b(2)双击窗体后将删除对角线Private Sub Form_DblClick()ClsEnd Sub,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,23,第二节 绘制线段,(3)改变窗体后将删除对角线Private Sub Form_Resize()ClsEnd Sub运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,24,第二节 绘制线段,【例题6.7】利用画线函数在窗体上画出矩形框。当用鼠标器双击该窗体时,画出一个矩形框,如图6-10(a)所示。当用鼠标器单击该窗体时,画出10个矩形框,如图6-10(b)所示。(1)窗体双击事件将画出1个矩形框Pri

20、vate Sub Form_DblClick()Form1.ClsLine(600,600)-(600,2000)Line(600,2000)-(2000,2000)Line(2000,2000)-(2000,600)Line(2000,600)-(600,600)End Sub,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,25,第二节 绘制线段,(2)窗体单击事件将画出10个矩形框Private Sub Form_Click()Dim count As SingleDim end_tmp As SingleDim start_tmp As SingleFor count=1 To 10e

21、nd_tmp=count*200start_tmp=count*60Line(start_tmp,start_tmp)-(start_tmp,end_tmp)Line(start_tmp,end_tmp)-(end_tmp,end_tmp)Line(end_tmp,end_tmp)-(end_tmp,start_tmp)Line(end_tmp,start_tmp)-(start_tmp,start_tmp)Next countEnd Sub运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,26,第二节 绘制线段,第二节 绘制线段2.另一种画线方法除了指定起点

22、确定一条直线之外,还可以使用步长的方法来确定线段的长度和方向,其格式如下:格式:.Line(x1,y1)-step(x2,y2),功能:在控件上,画出一条从(x1,y1)到step(x2,y2)的线段。其中(x2,y2)的值是x1和y1的增值。例如:Line(200,250)-(500,1000)Line(200,250)-Step(300,750)以上两个语句的功能是一样的。使用第二个语句的step是一个步长,这个步长就是在原来的基础上再增加一个值,也就是说,从原来的坐标位置处,增加的值就是画线的长度。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,27,第二节 绘制线段,三、改变线的宽度

23、和虚实1.改变线宽在绘制线段时,如果不加以说明或设置其线宽,则按系统的默认线宽进行绘制线段。在实际情况下,需要改变线段的宽度,则可以对DrawWidth属性的值进行改变,达到线宽的目的。DrawWidth属性:该属性主要用来设置绘制线段的宽度,其数据类型为数值型。【例题6.8】改变线段宽度属性值,画出不同线宽的线段。Private Sub Command1_Click()Dim linewidth As IntegerFor linewidth=1 To 10DrawWidth=linewidthPrint“第”;linewidth;“号”,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,28

24、,第二节 绘制线段,Line(100,500*linewidth)-(3000,500*linewidth)PrintNextEnd Sub执行以上运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,29,第二节 绘制线段,2.实线和虚线设置线段的虚线和实线可以对DrawStyle属性的值进行改变即可达到目的。DrawStyle属性:该属性主要用来设置绘制线段的类型,是虚线还是实线,其数据类型为数值型。该属性共有以下7种线条效果,它们是:0Solid:表示该属性的值可以绘制的线段为实线;1Dash:表示该属性的值可以绘制的线段为长虚线;2Dot:表示该属性的值可

25、以绘制断虚线;3Dash-Dot:表示该属性的值可以绘制点划线;4Dash-Dot-Dot:表示该属性的值可以绘制点点划线;5Transparent:表示该属性的值可以绘制空线即不可见的线,或者可以用来删除线段。6Inside Solid:表示该属性的值可以绘制实线。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,30,第二节 绘制线段,【例题6.10】利用画线函数在窗体上画出若干条随机的直线,并以窗体中心为起点,每0.1秒画出一条直线,线宽设计为2,线的颜色使用RGB函数随机产生,单击停止按钮后则停止画线。【程序代码】(1)命令按钮1单击事件段Private Sub Command1_Cl

26、ick()Form1.ClsTimer1.Enabled=TrueEnd Sub(2)命令按钮2单击事件段Private Sub Command2_Click()Timer1.Enabled=FalseEnd Sub,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,31,第二节 绘制线段,(3)窗体装运事件段Private Sub Form_Load()Timer1.Enabled=FalseTimer1.Interval=100RandomizeForm1.Scale(-1,1)-(1,-1)DrawWidth=2End Sub(4)时钟段Private Sub Timer1_Timer()

27、randx=Rndrandy=Rnd,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,32,第二节 绘制线段,If Rnd 0.5 Then randx=-randxIf Rnd 0.5 Then randy=-randyForm1.Line(0,0)-(randx,randy),RGB(Rnd*255,Rnd*255,Rnd*255)End Sub运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,33,第二节 绘制线段,四、画线综合应用举例【例题6.11】利用画点和画线函数在窗体上画出任意形状的几何图形。当在窗体上用鼠标器单击时,便在该坐标点上画一个黑色的小

28、点,当在窗体上用鼠标器双击时,便可将在该窗体上的所有黑色小点用直线连接起来,当按下键盘上的任何一个键时,将删除所有的图形,即清除屏幕。(1)通用声明段Dim xpt(100)As IntegerDim ypt(100)As IntegerDim num As Integer(2)按任意键后将清屏Private Sub Form_KeyPress(KeyAscii As Integer)Clsnum=0End Sub,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,34,第二节 绘制线段,(3)单击鼠标器左键画点,单击鼠标器右键则画一条连线Private Sub Form_MouseDown(B

29、utton As Integer,Shift As Integer,X As Single,Y As Single)If(Button=1)Then 单击鼠标器左键 xpt(num)=X 记住鼠标器位置 ypt(num)=Y PSet(X,Y)在鼠标器位置绘点 num=num+1End IfIf(Button=2)Then 单击鼠标器右键 For i=0 To num-2 将各点连线 For j=i+1 To num-1 Line(xpt(i),ypt(i)-(xpt(j),ypt(j)Next j Next iEnd IfEnd Sub运行该程序后,显示结果如下图所示。,VB程序设计教程,沈

30、美莉 马银晓 陈孟建 编著,35,第二节 绘制线段,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,36,第二节 绘制线段,【例题6.13】试编写一程序,要求使用鼠标器的拖拽方法来绘线,也就是,当按下鼠标器的左按键后,不放手,移动鼠标器后,在窗体下就会绘制出鼠标器移动的轨迹。当按下键盘中的任何按键后,将删除刚绘制的一段,即清屏。(1)通用声明段Dim colorval As Long(2)窗体按键段Private Sub Form_KeyPress(KeyAscii As Integer)ClsEnd Sub(3)窗体装运事件段Private Sub Form_Load()colorval=R

31、GB(0,0,255)设置线段为蓝色End Sub,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,37,第二节 绘制线段,(4)窗体鼠标器按下事件段Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single)If(Button=1)Then 按鼠标器的左边键 PSet(X,Y),colorval 在鼠标器位置处绘点End IfEnd Sub(5)窗体鼠标器拖拽事件段Private Sub Form_MouseMove(Button As Integer,Shift As Integ

32、er,X As Single,Y As Single)If Button=1 Then Line-(X,Y),colorval 按鼠标器左边键End IfEnd Sub运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,38,第二节 绘制线段,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,39,第二节 绘制线段,【例题6.14】对例题6.13增加一个改变线宽的功能,增加一个实线和虚线功能,增加一个菜单功能,如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,40,第二节 绘制线段,(1)按下鼠标器左键绘点Private Sub Form_MouseD

33、own(Button As Integer,Shift As Integer,X As Single,Y As Single)If(Button=1)Then 按下鼠标器左边键 PSet(X,Y)在鼠标器位置处绘点 menCls.Enabled=-1 令清除指令可操作End IfEnd Sub(2)鼠标器拖拽后产生的绘图效果Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)If Button=1 Then Line-(X,Y)按鼠标器左边键End IfEnd Sub,VB程

34、序设计教程,沈美莉 马银晓 陈孟建 编著,41,第二节 绘制线段,(3)执行版本说明程式指令Private Sub menAbout_Click()msg=作者:高级程序员msg=msg+Chr(10)用于换行msg=msg+时间:2003年11月28日MsgBox msgEnd Sub(4)清屏处理Private Sub menCls_Click()ClsmenCls.Enabled=0 令清除指令无法运作End Sub,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,42,第二节 绘制线段,(5)执行退出程式指令Private Sub menuquit_Click()EndEnd Sub(

35、6)执行改变线宽程式指令Private Sub menWidth_Click(Index As Integer)menWidth(DrawWidth-1).Checked=0 取消原先设定DrawWidth=Index+1 设定线宽menWidth(Index).Checked=-1 设定此指令End Sub,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,43,第二节 绘制线段,(7)执行改变线条效果Private Sub menstyle_Click(Index As Integer)DrawStyle=Index+1 设定线条效果menstyle(DrawStyle-1).Checked

36、=0 取消原先设定menstyle(Index).Checked=-1 设定此指令End Sub运行该程序后,显示结果如下图所示。,返回本章首页,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,44,第三节 绘制圆、椭圆和弧,一、Circle方法在Visual Basic中提供了Circle方法,可以用来画圆、椭圆、圆弧、扇形等图形,其格式为:.Circlestep(x,y),功能:在指定的对象位置处画圆形。说明:(1):表示要绘制的圆形、椭圆、圆弧、扇形等的对象名称,例如窗体、图片框等,若省略该选项,则默认为当前的窗体。(2)(x,y):表示要绘制图形的圆心起始坐标位置,是可选项。该参前面带

37、有Step选项,表示相对于(CurrentX,CurrentY)的坐标,否则为相对于当前坐标系的坐标。(3):表示绘制圆图形的半径,若要绘制椭圆形,则指椭圆形长半轴的长度。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,45,第三节 绘制圆、椭圆和弧,(4):表示绘制图形的边框颜色值,是可选项,若省略时,则使用当前对象的前景颜色,即使用当前对象的ForeColor属性值。(5):表示要绘制图形的起始角度,以弧度为单位,该项为可选项。(6):表示要绘制图形的终止角度,以弧度为单位,该项为可选项。(7):表示要绘制的椭圆形图形的长半轴与短半轴的比值,若大于1,则为纵向椭圆形,若小于1时,则为横向

38、椭圆形,若等于1时,为圆。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,46,第三节 绘制圆、椭圆和弧,【例题6.15】试编写程序,画出一些简单的圆形图。Private Sub Command1_Click()Dim radius As Singleradius=(Width-1000)/2Dim angle As Doubleangle=5Dim color As Longcolor=255Do While radius=300Circle(Width/2,Height/2-200),radius,255radius=radius*10/11color=color+10LoopEnd S

39、ub 运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,47,第三节 绘制圆、椭圆和弧,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,48,第三节 绘制圆、椭圆和弧,【例题6.16】试编写程序,在窗体上画出一个地球仪图形。【程序代码】Private Sub Command1_Click()Form1.Scale(-1,1)-(1,-1)Form1.ClsForm1.DrawWidth=2Form1.Circle(0,0),0.8,1Form1.Circle(0,0),0.8,0.2Form1.Circle(0,0),0.8,2End Sub运行修改的程序后,

40、显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,49,第三节 绘制圆、椭圆和弧,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,50,第三节 绘制圆、椭圆和弧,二、改变绘图参数1.RGB颜色系统我们已经知道计算机可以使用三原色RGB即Red(红色)、Green(绿色)、Blue(蓝色)来表示颜色的。RGB函数的格式为:RGB(数值,数值,数值)RGB各项的数值都是0255,用16 进制表示就是00FF。几种常用颜色的RGB值如下:(1)白色:RGB(255,255,255)(2)黑色:RGB(0,0,0)(3)红色:RGB(255,0,0)(4)蓝色:RGB(0,0,25

41、5)(5)绿色:RGB(0,255,0)(6)紫色:RGB(255,0,255)(7)黄色:RGB(255,255,0)(8)蓝绿色:RGB(0,255,255),VB程序设计教程,沈美莉 马银晓 陈孟建 编著,51,第三节 绘制圆、椭圆和弧,2.QBColor颜色系统QBColor颜色系统使用QBColor函数,其格式如下:QBColor(int x)QBColor函数中的X数值取值为015,其数据类型为整型。【例题6.17】试编写程序,在窗体上画出不同的QBColor函数值的颜色。Private Sub Command1_Click()Dim i As IntegerForm1.ClsDr

42、awWidth=2For i=0 To 15Line(1+i,400*i)-(4000,2000),QBColor(i)Next iEnd Sub 运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,52,第三节 绘制圆、椭圆和弧,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,53,第三节 绘制圆、椭圆和弧,3.用长整型数值表示颜色我们知道在RGB函数中,我们使用了3个从0255的整数来表示颜色,那么,表示颜色的总数可达到255*255*255=16777216种,因此,我们也可以直接使用长整型数据即016777215之间的任意整数作为颜色的值。在Visual

43、 Basic中,用整型数&H&表示颜色,其中颜色的数位设置为&HBBGGRR&,从低到高分别是红、绿、蓝。【例题6.18】试编写程序,用长整型数值表示颜色,在窗体上画出不同的数值所表示的颜色。运行程序后将看到的是一幅颜色渐变的图。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,54,第三节 绘制圆、椭圆和弧,Private Sub Command1_Click()Dim i,j As IntegerDim color As LongForm1.ClsFor i=0 To 255 For j=0 To 255 color=i*100 color=color*100 PSet(i*20,j*20

44、),color Next jNext i End Sub运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,55,第三节 绘制圆、椭圆和弧,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,56,第三节 绘制圆、椭圆和弧,4.图形的填充效果在填充图形时,可以使用FillStyle属性值来完成,该属性值可以对等间隔的各类横线斜线甚至是交叉的线条进行填充,下表所示的是FillStyle属性中的各个数值所对应的填充效果。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,57,第三节 绘制圆、椭圆和弧,【例题6.19】试编写程序,使用FillStyle属性值来填充图形。Private Sub Command1_Click()Dim i As IntegerDim k As LongDrawWidth=2k=100For i=1 To 7k=k*iFillStyle=iLine(k+400,k+400)-Step(k+900,k+900),RGB(255,0,0),BNext iEnd Sub 运行该程序后,显示结果如下图所示。,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,58,第三节 绘制圆、椭圆和弧,返回本章首页,VB程序设计教程,沈美莉 马银晓 陈孟建 编著,59,本次课程结束谢谢合作!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号