第11章图形程序设计_第1页
第11章图形程序设计_第2页
第11章图形程序设计_第3页
第11章图形程序设计_第4页
第11章图形程序设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第第1111章章 图形程序设计图形程序设计11.2 11.2 坐标系统坐标系统11.3 11.3 绘图属性绘图属性11.4 11.4 图形方法图形方法11.1 11.1 图形基础图形基础重点:重点:1.1.坐标系统的建立坐标系统的建立 2.2.绘图属性绘图属性 3.3.图形方法图形方法 11.1.1 矢量图形矢量图形矢量图形以数学的矢量方式来记录图形内容。它的内容以线条与色块为主。矢量图形文件最常用的类型有两种:分别是标准型(.wmf)和增强型(.emf)。11.1.2 位图图形位图图形位图式图象是由许多点组成的,这些点称为像素,当许许多多不同颜色的点组合在一起便构成了一幅完整的图象。位图图

2、形文件最常用的类型有位图文件(bitmap):位图通常以.bmp或 .dib为文件扩展名。图标文件(icon):以.ico为文件扩展名。jpeg文件:jpeg是一种支持 8 位和 24 位颜色的压缩位图格式。它是 internet 上一种流行的文件格式。以.jpg为文件扩展名。gif文件:gif是一种压缩位图格式。它可支持多达 256 种的颜色,是 internet 上一种流行的文件格式。以.gif为文件扩展名。 在vb应用程序的设计过程中,图形处理的内容基本包括:在应用程序中插入图片、使用vb图形控件创建图形和使用vb图形方法绘制图形。11.1 11.1 图形基础图形基础 11.2.1 vb

3、的缺省坐标系统的缺省坐标系统 在vb中,用户界面上凡是可以作为容器的控件对象,都带有一个由系统为其设定的(缺省)坐标系统,例如窗体上的(缺省)坐标系统,定义网格上的位置:(x, y),x 值是沿 x 轴点的位置,最左端是缺省位置 0。y 值是沿 y 轴点的位置,最上端是缺省位置 0。也就是说:坐标系的原点是在窗体的作上角(其实,任何容器的缺省坐标系统,都是这样的类型)。该坐标系统的图示在图 11-1中。o(0,0)x轴y轴坐标原点11.2 11.2 坐标系统坐标系统 11.2.2 建立自己的坐标系统建立自己的坐标系统一改变坐标轴刻度改变坐标轴刻度 1.通过改变控件对象的通过改变控件对象的sca

4、lemode属性值属性值 。 对象的scalemode属性的取值及描述如下表所示: 0用户定义。 1缇。这是缺省刻度。1,440 缇等于一英寸 2磅。72 磅等于一英寸 3像素。像素是监视器或打印机分辨率的最小单位。每英寸里像素的数目由设备的分辨率决定 4字符。打印时,一个字符有 1/6 英寸高、1/12 英寸宽 5英寸 6毫米 7厘米2.使用scaletop、scaleleft 、scalewidth以及scaleheight属性 (x1,y1)(x2,y2)例如: form1.scale(-16,16)-(16,-16)可建立和前页一样的坐标系。二重新定义新的坐标系统二重新定义新的坐标系统

5、 一个更有效的改变坐标系统的途径,是使用 scale 方法。scale 方法的语法格式如下: 对象名对象名. scale (x1. scale (x1,y1)y1)(x2x2,y2y2) 1.currentx、currenty当前坐标属性当前坐标属性 窗体或图形框的currentx、currenty属性给出在绘图时的当前坐标,currentx,currenty确定了下一次打印或绘图的水平及垂直坐标。 11.3 11.3 绘图属性绘图属性 2.fillstyle 2.fillstyle 属性属性 fillstyle fillstyle 属性属性的提供了若干预定义的填充样式图案,其中包括:实线、透

6、明、水平线、垂直线、左上右下对角线、左下右上对角线、十字线和对角十字线。下表给出了fillstyle 属性的取值、意义描述以及具体的填充样例: fillstyle fillstyle 属性值属性值 描述描述 填充样式填充样式 3.fillcolor 3.fillcolor 属性属性 fillcolor 属性用于设置封闭图形内部的填充颜色。设计时,可以通过以下颜色函数指定色彩。1.rgb(红,绿,蓝)函数,红、绿、蓝三基色使用0255之间的整数。例如:rgb(0,0,0)为黑色 rgb(255, 255, 255)为白色随机颜色:r=int(rnd*256) g=int(rnd*256) b=i

7、nt(rnd*256) rgb(r,g, b)2. . qbcolor(颜色码),颜色码使用015之间的整数。随机颜色:qbcolor(int(rnd*16) 4.drawstyle 属性属性窗体或图形框的drawstyle 属性用于设置在其上面画线的样式,该属性提供7种直线样式如下表所示:drawstyle 属性值属性值 描述描述 线段样式线段样式 5.drawwidth 属性属性窗体或图形框的drawwidth 属性用于设置在其上面画线的宽度或画点的大小,drawwidth 属性所设置的线宽宽度以象素为单位,最小值为1。 11.4.1 line方法方法 line方法用于在窗体或图形框上绘制

8、直线或矩形,其语法格式为:对象名对象名. line step (x1,y1)(x2,y2),颜色颜色,bf其中:对象即为窗体或图形框。 (x1,y1) ,(x2,y2)为线段的起终点坐标或矩形的左上角右下坐标。颜色为可选参数,指定画线的颜色,缺省取对象的前景颜色,即forecolor属性值。 b表示画矩形,f表示用画矩形的颜色来填充矩形。 关键字step表示采用当前作图位置的相对位移量,即从当前坐标移动相应的步长后所得的点为画线起点。11.4 11.4 图形方法图形方法 例11-5使用line方法绘制矩形。 在本例题中,首先在用户界面设计窗口设置窗体的高度(height属性)为3400,宽度(

9、width属性)为2750,背景颜色(backcolor属性)为白色。编写如下的窗体单击事件程序代码:private sub form_click()line (20, 40)-(1500, 2000), , bline (200, 400)-step(2000, 2000),vbred, bf end sub本程序运行结果如图所示。 11.4.2 circle方法方法 circle方法用于在窗体或图形框上画圆、椭圆、圆弧和扇形。其语法格式为:对象名. circle step (x,y),半径,颜色,起始角,终止角,长短轴比率其中:(x,y)为圆心坐标,step表示采用当前作图位置的相对值;参

10、数起始角、终止角用于设置绘制圆弧;当在起始角、终止角取值前加一负号时,表示画圆心到圆弧的径向线,即绘制扇形;参数长短轴比率控制绘制椭圆时横轴与纵轴的比例关系,其默认值为1,即为画圆。 例11-6 使用circle方法的程序。直接编写窗体单击事件程序代码如下: private sub form_click()const pi = 3.1415926form1.scale (0, 0)-(60, 40)form1.circle (10, 10), 8 绘制圆form1.circle (35, 15), 10, , pi / 2, pi 绘制圆弧form1.fillstyle = 0 设置填充样式为

11、实填充form1.fillcolor = vbred 设置填充颜色为红色form1.circle (50, 15), 10, , -pi / 6, -pi * 5 / 6 绘制具有填充效果的扇形form1.fillstyle = 1 设置填充样式为虚填充form1.circle (15, 30), 12, , , , 0.3 绘制x-长轴椭圆form1.circle (45, 30), 8, , , , 3 绘制x-短轴椭圆end sub 该程序运行结果如图所示: 11.4.3 pset方法方法pset方法用于在窗体或图形框上画点,其语法格式如下: 对象名对象名.pset step (x,y)

12、 ,颜色,颜色例11-8 使用pset方法在窗体上的任意位置画任意颜色的、大小为110之间任意值的点。直接编写窗体单击事件如下:private sub form_click()dim i as integer, x as double, y as doublerandomizefor i = 1 to 100 form1.forecolor = rgb(int(rnd * 255), int(rnd * 255), int(rnd * 255) x = rnd * form1.scalewidth y = rnd * form1.scaleheight form1.drawwidth = int(1 + rnd * 30) pset (x, y)next i end sub 例:重新定义窗体的坐标系为(-7, 7)-(7, -7)。在窗体上绘制如图2所示图形,其中直线的颜色是随机的,直线的一端为坐标(0,0),另一端坐标用阿基米德方程计算:x=i*cos(i) , y=i*sin(i)i=02,步长为0.1。 private sub command3_click()scale (-7, 7)-(7, -7) for i = 0 to 2 * 3.14 step 0.1 r = int(rnd * 256) g = int(rnd * 256) b = in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论