1、浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系第二章第二章 Visual Basic绘图基础绘图基础 1.了解了解Visual Basic坐标系统坐标系统。2.了解了解Visual Basic图形控件图形控件。3.了解了解Visual Basic颜色设置颜色设置。4.了解了解Visual Basic绘图方法。绘图方法。本章要求:本章要求:浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与
2、车辆工程系2.1 Visual Basic坐标系统坐标系统 Visual Basic 的坐标系统是指在屏幕(的坐标系统是指在屏幕(screen)、窗体)、窗体(form)、容器、容器(container)上定义的表示图形对象位置的平面二上定义的表示图形对象位置的平面二维格线,一般采用数对(维格线,一般采用数对(x,y)的形式定位。其中,)的形式定位。其中,x 值是沿值是沿 x 轴点的位置,最左端是默认位置轴点的位置,最左端是默认位置 0。y 值是沿值是沿 y 轴点的位置,轴点的位置,最上端是默认位置最上端是默认位置 0。在在Visual basic坐标系中,沿坐标轴定义位置的测量单位坐标系中,
3、沿坐标轴定义位置的测量单位统称为刻度,坐标系统的每个轴都有自己的刻度。坐标轴的统称为刻度,坐标系统的每个轴都有自己的刻度。坐标轴的方向、起点和刻度都是可变的。方向、起点和刻度都是可变的。浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系 一、通过一、通过ScaleMode属性设置坐标系统属性设置坐标系统 2.1 Visual Basic坐标系统坐标系统浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技
4、大学物流与车辆工程系当当ScaleMode属性值为属性值为0时,用户可以创建自定义坐标系统,通时,用户可以创建自定义坐标系统,通过设置过设置ScaleLeft、ScaleTop、ScaleWidth和和ScaleHeight属性的属性的值,来创建所需的坐标系统。值,来创建所需的坐标系统。Scaleleft:设置对象左边距值。:设置对象左边距值。Scaletop:设置对象上边距值。:设置对象上边距值。Scalewidth:设置对象宽度。:设置对象宽度。Scaleheight:设置对象高度。:设置对象高度。二、自定义坐标系统二、自定义坐标系统 2.1 Visual Basic坐标系统坐标系统浙江科
5、技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系定义形式如下:定义形式如下:object.scale(x1,y1)(x2,y2)Scale 方法的语法包含内容如下所示:方法的语法包含内容如下所示:三、使用三、使用scale方法定义坐标系统方法定义坐标系统 2.1 Visual Basic坐标系统坐标系统部分描述object可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则带有焦点的 Form 对象默认为 objectx1,y1可选的。均为单精度值,指示定义
6、object 左上角的水平(x-轴)和垂直(y-轴)坐标。这些值必须用括号括起。如果省略,则第二组坐标也必须省略x2,y2可选的。均为单精度值,指示定义 object 右下角的水平和垂直坐标。这些值必须用括号括起。如果省略,则第一组坐标也必须省略浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系在在Visual Basic系统中,常用的图形控件有直线控件系统中,常用的图形控件有直线控件Line和形状控件和形状控件Shape,利用这两种图形也可绘制一般的几,利用这两种图形也可绘制一般的几何
7、图形,如使用何图形,如使用Shape可以产生圆、矩形等形状,编程可以产生圆、矩形等形状,编程简单,所需的系统资源较少。简单,所需的系统资源较少。Line和和Shape控件在控件在Visual Basic的工具箱中的位置和形状。的工具箱中的位置和形状。2.2 Visual Basic图形控件图形控件浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系当当ScaleMode属性值为属性值为0时,用户可以创建自定义坐标系统,通时,用户可以创建自定义坐标系统,通过设置过设置ScaleLeft、Sc
8、aleTop、ScaleWidth和和ScaleHeight属性的属性的值,来创建所需的坐标系统。值,来创建所需的坐标系统。Scaleleft:设置对象左边距值。:设置对象左边距值。Scaletop:设置对象上边距值。:设置对象上边距值。Scalewidth:设置对象宽度。:设置对象宽度。Scaleheight:设置对象高度。:设置对象高度。一、一、Line直线控件直线控件 2.2 Visual Basic图形控件图形控件浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系(1)BackS
9、tyle、BorderColor、BorderStyle、BorderWidth、FillStyle、Index和和Visible属性同直线控件对象。属性同直线控件对象。(2)BackColor属性。用于返回或设置对象的背景颜色。如果属性。用于返回或设置对象的背景颜色。如果 BackStyle 属性的设置值为属性的设置值为 0(透明),则忽略(透明),则忽略 BackColor 属性。属性。(3)Shape属性。用于返回或设置一个值,该值指示一个属性。用于返回或设置一个值,该值指示一个 Shape 控件的外观。控件的外观。(4)位置和大小属性。)位置和大小属性。Left、Top属性用于设置属性
10、用于设置shape控件的左控件的左上角坐标位置,上角坐标位置,Width和和Height属性用于设置属性用于设置Shape控件的宽度控件的宽度和高度。和高度。例:已知在例:已知在EAN-13商品条码中,每一个条码字符均由商品条码中,每一个条码字符均由7个模块个模块组成,用直线控件表示一个字符的模块组成。组成,用直线控件表示一个字符的模块组成。二、二、Shape控件控件 2.2 Visual Basic图形控件图形控件浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系在设置窗体的背景色在设
11、置窗体的背景色BackColor时,单击右侧的颜色值,从该时,单击右侧的颜色值,从该图中可以选择系统颜色图中可以选择系统颜色。一、一、调色板调色板 2.3 Visual Basic颜色颜色浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系RGB颜色是颜色是Red(红)、(红)、Green(绿)和(绿)和Blue(蓝)英文的缩写,(蓝)英文的缩写,RGB函数通过三原色的值设置一种混合颜色。函数通过三原色的值设置一种混合颜色。RGB函数的使用函数的使用格式如下:格式如下:RGB(红色值红色值
12、,绿色值绿色值,蓝色值蓝色值)红色、绿色和蓝色三种颜色值均为红色、绿色和蓝色三种颜色值均为0255之间的整数,之间的整数,0表示某表示某种颜色的亮度最低,种颜色的亮度最低,255表示某种颜色的亮度最高。表示某种颜色的亮度最高。二、二、RGB颜色颜色 2.3 Visual Basic颜色颜色浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系Visual Basic保留了保留了Quick BSAIC的的QBColor函数,函数,QBColor是是程序运行过程中改变颜色的方法之一,用于选择程序
13、运行过程中改变颜色的方法之一,用于选择 16 种种 Microsoft QuickBasic颜色中的一种。颜色中的一种。QBColor函数的用法格式函数的用法格式如下:如下:QBColor(颜色值颜色值)其中其中“颜色值颜色值”的取值范围是的取值范围是015,共可表示,共可表示16种颜色。种颜色。三、三、QBColor 2.3 Visual Basic颜色颜色浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系四、四、VB中的颜色常数中的颜色常数 2.3 Visual Basic颜色颜色文
14、字常数值颜色vbBlack&H0 黑色 vbRed&HFF 红色 vbGreen&HFF00 绿色 vbYellow&HFFFF 黄色 vbBlue&HFF0000 兰vbMagenta&HFF00FF 洋红 vbCyan&HFFFF00 青色 vbWhite&HFFFFFF 白色 浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系使用使用Line和和Shape控件能制作简单的图形,使用过程中要加控件能制作简单的图形,使用过程中要加载多个这样的控件,在容纳多个载多个这样的控件,在容纳多个
15、Line或或Shape控件的容器上控件的容器上构建其他图形时,应及时卸载或添加相关图形控件,操作起构建其他图形时,应及时卸载或添加相关图形控件,操作起来较为烦琐,应用也不灵活。来较为烦琐,应用也不灵活。Visual Basic程序在窗体、打印程序在窗体、打印机和图片框等对象或上控件提供了较为灵活的绘图方法,即机和图片框等对象或上控件提供了较为灵活的绘图方法,即采用直线采用直线Line、圆、圆Circle等方法或采用等方法或采用API函数进行作图。图函数进行作图。图形方法可以实现一些图形控件无法达到的视觉效果。例如,形方法可以实现一些图形控件无法达到的视觉效果。例如,使用图形方法能够创建圆弧或画
16、单个像素,便于构成复杂的使用图形方法能够创建圆弧或画单个像素,便于构成复杂的图形。图形。2.4 Visual Basic绘图绘图浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系格式:格式:object.Cls参数:参数:object 所在处代表一个对象表达式,其值为所在处代表一个对象表达式,其值为“应用于应用于”列表中的一个对象。如果省略列表中的一个对象。如果省略 object,则带有焦点的,则带有焦点的 Form 就就被认为是被认为是 object。作用:清除运行时作用:清除运行时
17、Form 或或 PictureBox 所生成的图形和文本。所生成的图形和文本。一、一、Cls方法方法 2.4 Visual Basic绘图绘图浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系格式:格式:object.PSet Step(x,y),color参数:参数:object是可选的对象表达式,其值为是可选的对象表达式,其值为“应用于应用于”列表中列表中的对象。如果的对象。如果object 省略,具有焦点的窗体作为省略,具有焦点的窗体作为object。作用:将对象上的点设置为指定颜
18、色。作用:将对象上的点设置为指定颜色。所画点的尺寸取决于所画点的尺寸取决于 DrawWidth 属性值。当属性值。当DrawWidth为为1时,时,PSet 将一个像素点设置为指定颜色;当将一个像素点设置为指定颜色;当DrawWidth大于大于1时,时,则点的中心位于指定坐标。则点的中心位于指定坐标。二、二、Pset方法方法2.4 Visual Basic绘图绘图浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系格式:格式:object.Point(x,y)参数:参数:object是可选
19、的一个对象表达式,其值为是可选的一个对象表达式,其值为“应用于应用于”列列表中的一个对象。如果省略表中的一个对象。如果省略 object,则为带有焦点的窗体对象,则为带有焦点的窗体对象名称。名称。作用:返回在作用:返回在Form或或PictureBox上所指定磅的红上所指定磅的红-绿绿-蓝蓝(RGB)颜色。颜色。如果由如果由x和和y坐标所引用的点位于坐标所引用的点位于object之外,之外,Point方法将返回方法将返回-1。三、三、Point方法方法2.4 Visual Basic绘图绘图浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netww
20、w.Goit.Net版权 山东科技大学物流与车辆工程系格式:格式:object.Line Step(x1,1)Step(x2,y2),color,BF。例如,下列语句在窗体上画一条斜线。例如,下列语句在窗体上画一条斜线。Line(0,0)-(1000,1000)在第一点坐标省略的情况下,使用在第一点坐标省略的情况下,使用Line方法绘制的直线的起点方法绘制的直线的起点为在该对象上绘图或输出文字时的当前位置,由为在该对象上绘图或输出文字时的当前位置,由CurrentX和和CurrentY属性表示。属性表示。四、四、Line 方法方法 2.4 Visual Basic绘图绘图浙江科技学院教信系计算
21、机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系格式:格式:object.Circle Step(x,y),radius,color,start,end,aspect绘制圆的格式为:绘制圆的格式为:object.Circle Step(x,y),颜色颜色绘制圆弧的格式为:绘制圆弧的格式为:Object.Circle Step(x,y),颜色颜色,起始角起始角,终止角终止角绘制椭圆的格式为:绘制椭圆的格式为:Object.Circle Step(x,y),颜色颜色,起始角起始角,终止角终止角,纵横比纵横比五、
22、五、Circle方法方法2.4 Visual Basic绘图绘图浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系格式:格式:object.Print outputlist参数:参数:object是要输出文字的对象,可以是窗体、打印机、图是要输出文字的对象,可以是窗体、打印机、图片框;片框;outputlist是要输出的文字内容。是要输出的文字内容。功能:在窗体、打印机或图片框的指定位置输出文字。功能:在窗体、打印机或图片框的指定位置输出文字。在使用该方法时必须修改窗体、打印机或图片框的
23、在使用该方法时必须修改窗体、打印机或图片框的CurrentX和和CurrentY属性的值,在当前位置输出文字。属性的值,在当前位置输出文字。六、六、Print方法方法2.4 Visual Basic绘图绘图浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Net版权 山东科技大学物流与车辆工程系格式:格式:object.PaintPicture picture,x1,y1,width1,height1,x2,y2,width2,height2,opcode例:已知窗体上有两个图片框控件,分别为例:已知窗体上有两个图片框控件,分
24、别为Pic1和和Pic2,其中,其中Pic1中已加载了图片,使用中已加载了图片,使用PaintPicutre方法,在方法,在Pic2中显示中显示Pic1的图片。的图片。Private Sub Form_Click()Pic2.PaintPicture Pic1.Picture,0,0,Pic2.Width,Pic2.Height,0,0,Pic1.Width,Pic1.HeightEnd Sub七、七、PaintPicture方法方法2.4 Visual Basic绘图绘图浙江科技学院教信系计算机基础教学网站:浙江科技学院教信系计算机基础教学网站:www.Goit.Netwww.Goit.Ne
25、t版权 山东科技大学物流与车辆工程系 在在Visual Basic中除中除Line、Circle等方法外,还可以使用等方法外,还可以使用API函数进行图形设置,构造复杂的图形界面等。函数进行图形设置,构造复杂的图形界面等。例:已知例:已知EAN-13商品条码字符集商品条码字符集5的的A子集二进制字符串为子集二进制字符串为0110001,使用有关的,使用有关的API函数绘制该条码并输出文字。函数绘制该条码并输出文字。API函数中使用的坐标系单位是像素,在绘制该数字的条码函数中使用的坐标系单位是像素,在绘制该数字的条码时,指定每个模块的宽度为时,指定每个模块的宽度为10个像素(清晰起见),绘图时在个像素(清晰起见),绘图时在每个出现每个出现1的位置绘制矩形框并进行填充,出现的位置绘制矩形框并进行填充,出现0的位置则跳过。的位置则跳过。八、八、常用的常用的API绘图函数绘图函数2.4 Visual Basic绘图绘图