资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第 10 章 图形操作,图形操作基础 绘图属性 图形控件 图形方法,10.1 图形操作基础,坐标系 自定义坐标系 图形层 使用VB颜色,返回第十章,10.2 绘图属性,BorderStyle属性 BorderWidth属性 DrawMode属性 DrawStyle属性 FillColor属性 FillStyle属性,返回第十章,10.3 图形控件,图形控件 PictureBox控件(图片框) Image控件(图像框) Line控件(线条) Shape控件(形状) 图形控件的使用,返回第十章,10.4 图形方法,Cls方法 Pset方法 Point方法 Line方法 Circle方法 PaintPicture方法,返回第十章,坐标系,在VB中,每个对象都定位于存放它的容器内,对象定位都要使用容器的坐标系。 每个容器都有一个坐标系,构成一个坐标系需要三个要素: (1)坐标原点 (2)坐标度量单位 (3)坐标轴的长度与方向,返回10.1,坐标系,坐标度量单位由容器对象的ScaleMode属性决定, ScaleMode属性设置如下表:,返回10.1,自定义坐标系,对象的坐标系允许用户自行定义。有两种方法用于坐标系的定义: (1)通过对象的ScaleTop、ScaleLeft、ScaleWidth、ScaleHeight四项属性来实现。 (2)用Scale方法来设置坐标系 object. Scale (x1,y1)-(x2,y2) 这里的(x1,y1)和(x2,y2)分别为左上角和右下角的坐标。这里四个参数与前面四个属性的对应关系如下:x1=ScaleLeft y1=ScaleHeight x2=x1+ScaleWidth y2=y1+ScaleHeight,返回10.1,图形层,VB在构造图形时,在三个不同的屏幕层次上放置图形的可视组成部分。 就视觉效果而言,最上层离用户最近,而最下层离用户最远。 图形层放置的对象如下表所示:,返回10.1,图形层,位于上层的对象会遮盖下层相同位置上的任何对象,即使下层对象在上层对象后面绘制。 位于同一层内的对象在发生层叠时,位于前面的对象会遮盖位于后面的对象。 同一图形层内控件对象排列顺序称为Z序列。设计时可通过格式菜单中的顺序命令调整Z序列,运行时可使用Zorder方法将特定的对象调整到同一图形层内的前面和后面。,返回10.1,使用VB颜色,在程序运行时,有四种方式可以指定颜色值。 (1)使用QBColor函数:能够选择16种Microsoft QuickBasic颜色中的一种 。 (2)使用RGB函数:使用RGB函数能指定任何颜色。要对三种主要颜色(红、绿、蓝)中的每种颜色赋予从0到255中的数值,0表示亮度最低,255表示亮度最高。使用红绿蓝的排列方式,将三个数值输入给RGB函数。将结果赋予颜色属性或颜色参数。 (3)使用颜色属性 :使用定义的常数或直接使用颜色设置值。,返回10.1,BorderStyle属性,BorderStyle属性用来返回或设置一个数值,指定对象的边框样式。对于控件Line和Shape,则是指定控件轮廓线是实线还是虚线。Line和Shape控件的BorderStyle属性设置值如下表所示:,返回10.2,BorderWidth属性,BorderWidth属性用来指定控件Line和Shape轮廓线的粗细,它的取值范围为18192。BorderWidth和BorderStyle属性共同确定了控件Line和Shape边框类型。BorderStyle值对BorderWidth属性的影响如下表所示:,返回10.2,DrawMode属性,DrawMode属性用来返回或设置一个决定图形方法的输出外观或者Shape及Line控件的外观的数值。 当用Shape或Line控件,或者用图形方法画图时,使用DrawMode属性可以产生可见效果。Visual Basic6.0将绘图模式的每一个像素与现存背景中相应的像素作比较,然后进行逐位比较操作。 DrawMode设置值的实际效果取决于运行时所画线的颜色与屏幕已存在的颜色。 DrawMode属性的取值如下表所示:,返回10.2,DrawMode属性,返回10.2,DrawStyle属性,DrawStyle属性用来返回或设置一个决定图形方法输出的线型的样式的数值。 若DrawWidth属性设置值大于1,在DrawStyle属性被设置为14时,会画一条实线。 若DrawWidth设置为1,使用DrawStyle属性产生的效果如下表所示:,返回10.2,DrawWidth属性,DrawWidth属性用来返回或设置图形方法输出的线宽。属性值的单位为像素,取值范围为132767,默认值为1。 如果DrawWidth属性值大于1,在DrawStyle属性被设置为14时,会画一条实线。,返回10.2,FillColor属性,FillColor属性用来返回或设置用于填充形状的颜色,也可以用来填充由Circle和Line图形方法生成的圆和方框。 除Form对象外,若FillStyle属性被设置为默认值1(透明),则将忽略FillColor属性的设置值。FillColor属性值的设置如下表所示:,返回10.2,FillStyle属性,FillStyle属性用来返回或设置填充Shape控件以及由Circle和Line图形方法生成的圆和方框的模式。属性值设置如下表所示:,返回10.2,图形控件,VB提供了四种图形控件:PictureBox控件、Image控件、Line控件和Shape控件。 在设计时,图形控件需要的系统资源比其他VB控件少。使用图形控件创建的图形使用的代码比图形方法用的要少。 但是,在使用图形控件时,也有一些限制: (1)不能出现在其他控件之上。除非它们是在一个容器里,而这个容器可以出现在其他控件之上。 (2)不能在运行时接收焦点。 (3)不能作为其他控件的容器。 (4)不具有hWnd属性。,返回10.3,PictureBox控件(图片框),PictureBox控件用来显示来自位图、图标或者元文件,以及来自增强的元文件、JPEG或GIF文件的图形。PictureBox控件中的图形的大小是不能改变的。如果控件不足以显示整幅图像,则裁剪图像以适应控件的大小。 PictureBox控件的常用属性有: (1)CurrentX、CurrentY属性:返回或设置下一次打印或绘图方法的水平(CurrentX)或垂直(CurrentY)坐标。 (2)BorderStyle属性:返回或设置控件的边框样式。设置值0,无边框;设置值1,固定单边框(默认值)。 (3)Picture属性:返回或设置控件中要显示的图片。 (4)AutoSize属性:指定PictureBox控件是否自动改变大小,以适应图形的大小。,返回10.3,Image控件(图像框),Image控件用来显示图形。Image控件可以显示来自位图、图标或者元文件的图形,也可以显示增强的元文件、JPEG或GIF文件。 Image控件使用较少的系统资源,重画起来比PictureBox控件要快。但它只支持PictureBox控件的一部分属性、事件和方法。 Image控件没有AutoSize属性,但是它可以通过设置Stretch属性来确定是否缩放图形来适应控件大小。,返回10.3,Line控件(线条),Line控件用来显示水平线、垂直线或者对角线。可以在窗体、图片框和框架中显示Line控件。运行时不能使用Move方法移动Line控件,但是可以通过改变X1、X2、Y1和Y2属性来移动它或者调整它的大小。 Line控件的常用属性有: (1)BorderColor属性:返回或设置直线的颜色。 (2)BorderStyle属性:返回或设置直线的线型。 (3)BorderWidth属性:返回或设置直线的宽度。,返回10.3,Shape控件(形状),Shape控件用来显示矩形、正方形、椭圆、圆形、圆角矩形或者圆角正方形。可以在容器中绘制Shape控件,但是不能把该控件当成容器。 Shape控件的常用属性有: (1)BackStyle属性:返回或设置一个值,它指定Shape控件的背景是透明的还是非透明的。 (2)FillColor属性:返回或设置用于填充形状的颜色。 (3)FillStyle属性:返回或设置用来填充形状的模式。,返回10.3,Shape控件(形状),(4)Shape属性:返回或设置一个值,它指示一个Shape控件的外观。Shape属性设置值如下表所示:,返回10.3,图形控件的使用,在VB中,图片通常可以显示在三处位置: (1)窗体上 (2)PictureBox控件上 (3)Image控件上 VB的图片可以来自Microsoft Windows的各种绘图程序、其他图形应用程序,或剪切美术库等。VB还为用户提供了一个大图标库,可以在应用程序中直接调用。在VB中,添加图片有多种方法。,返回10.3,设计时添加图片,:有两种方法: 从图片文件中加载图片:在属性窗口中,从“属性列表框”中选择“Picture”属性,并单击属性值的按钮,打开“加载图片”对话框,从中选择要加载的图片即可。 将图片粘贴到对象中:先把选定的图片从一个应用程序复制到剪贴板上。然后返回Visual Basic6.0开发环境中,用鼠标右击欲添加图片的对象,在弹出的快捷菜单中选择“粘贴”即可。,返回10.3,运行时添加图片,有四种方法: 使用LoadPicture函数:指定一个文件名,并将该图片赋值给Picture属性。 使用LoadResPicture函数:可把工程中.res文件的一图片赋值给Picture属性。 对象间相互复制图片:图片被加载或粘贴到对象中后,程序运行时就可以把它赋值给另外一个对象。 从剪贴板复制图片。,返回10.3,运行时删除图片,使用LoadPicture函数可以在运行时删除图片。方法很简单,只须把图片文件参数设置为空即可。例:Image1.Picture=LoadPicture(“”) 该语句将名为Image1的图像框内的图片删除掉。,返回10.3,图形方法,除了使用图形控件操作现有的图形之外,Visual Basic6.0还提供了创建图形的一些方法。 每一种图形方法都是绘制输出到窗体、图片框或是Printer对象。 为了指示绘制的位置,要给图形方法加上窗体或图片框控件的名字。若省略对象,则将在当前窗体上绘制输出。,返回10.4,Cls方法,Cls方法可以用来清除绘图区。 格式:object.Cls 例:Cls 清除当前窗体上的绘图区,返回10.4,Pset方法,Pset方法用来设置对象上指定的点的颜色,即用指定的颜色画出一个点。 格式:object.Pset Step (x,y),Color 说明: (1)Step指定相对于由CurrentX,CurrentY属性提供的当前图形位置的坐标。可选。 (2)(x,y)设置所画点的水平(x轴)和垂直(y轴)坐标,是单精度参数。 (3)Color设置该点像素的前景色,可选。 (4)用Pset方法可以清除一点。,返回10.4,Point方法,Point方法用来返回指定点的红、绿、蓝(RGB)颜色。 格式:object.Point(x,y) 说明: (1)(x,y)指示对象的ScaleMode属性中该点的水平(X轴)和垂直(Y轴)坐标。这些数值为单精度参数,且必须放在括号里。 (2)若(x,y)坐标所应用的点在对象之外,则将返回-1。,返回10.4,Line方法,Line方法用来绘制直线和矩形。根据参数的不同,该方法既可以画出直线,也可以画出空心矩形或实心矩形。 格式:object.Line Step(x1,y1)-Step(x2,y2),Color,BF 说明: (1)Step指定相对于由CurrentX,CurrentY属性提供的当前图形位置的坐标。可选。 (
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号