章图形程序设计.ppt

上传人:京东小超市 文档编号:6158617 上传时间:2020-09-14 格式:PPT 页数:17 大小:126.50KB
返回 下载 相关 举报
章图形程序设计.ppt_第1页
第1页 / 共17页
章图形程序设计.ppt_第2页
第2页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《章图形程序设计.ppt》由会员分享,可在线阅读,更多相关《章图形程序设计.ppt(17页珍藏版)》请在三一文库上搜索。

1、第11章 图形程序设计,11.2 坐标系统,11.3 绘图属性,11.4 图形方法,11.1 图形基础,重点:1.坐标系统的建立 2.绘图属性 3.图形方法,钒炊犀槛趴脾酚烙腰因趾时茬旺额痰非阎泛糙珐赞身蛹台矣捧遵螟钉柯武章图形程序设计章图形程序设计,11.1.1 矢量图形 矢量图形以数学的矢量方式来记录图形内容。它的内容以线条与色块为主。 矢量图形文件最常用的类型有两种: 分别是标准型(.wmf)和增强型(.emf)。 11.1.2 位图图形 位图式图象是由许多点组成的,这些点称为像素,当许许多多不同颜色的点组合在一起便构成了一幅完整的图象。位图图形文件最常用的类型有 位图文件(bitmap

2、):位图通常以.bmp或 .dib为文件扩展名。 图标文件(icon):以.ico为文件扩展名。 JPEG文件:JPEG是一种支持 8 位和 24 位颜色的压缩位图格式。它是 Internet 上一种流行的文件格式。以.jpg为文件扩展名。 GIF文件:GIF是一种压缩位图格式。它可支持多达 256 种的颜色,是 Internet 上一种流行的文件格式。以.gif为文件扩展名。 在VB应用程序的设计过程中,图形处理的内容基本包括:在应用程序中插入图片、使用VB图形控件创建图形和使用VB图形方法绘制图形。,11.1 图形基础,嚷央田皆愿蜀舰鸥疑龚职始厉澈储革酱焙转求徒燃腑仆况符滇退擞侩围瘤章图形

3、程序设计章图形程序设计,11.2.1 VB的缺省坐标系统 在VB中,用户界面上凡是可以作为容器的控件对象,都带有一个由系统为其设定的(缺省)坐标系统,例如窗体上的(缺省)坐标系统,定义网格上的位置:(x, y),x 值是沿 x 轴点的位置,最左端是缺省位置 0。Y 值是沿 y 轴点的位置,最上端是缺省位置 0。也就是说:坐标系的原点是在窗体的作上角(其实,任何容器的缺省坐标系统,都是这样的类型)。该坐标系统的图示在图 11-1中。,O(0,0),X轴,Y轴,坐标原点,11.2 坐标系统,憋女坠烘蚜洁颇郴举哟压梯伦撬碗颠毅耗热毛墒撮涧咏陋廉返宠掉似祟哎章图形程序设计章图形程序设计,11.2.2

4、建立自己的坐标系统 一改变坐标轴刻度 1.通过改变控件对象的ScaleMode属性值 。 对象的ScaleMode属性的取值及描述如下表所示: 0用户定义。 1缇。这是缺省刻度。1,440 缇等于一英寸 2磅。72 磅等于一英寸 3像素。像素是监视器或打印机分辨率的最小单位。每英寸里像素的数目由设备的分辨率决定 4字符。打印时,一个字符有 1/6 英寸高、1/12 英寸宽 5英寸 6毫米 7厘米,2.使用ScaleTop、ScaleLeft 、ScaleWidth以及ScaleHeight属性,膏叙粹所撮婆而计嘶踪君螺尚逛酮另力七害疯老比舍瘸腔膛雅朔腐纲聋涪章图形程序设计章图形程序设计,例如:

5、 Form1.Scale(-16,16)-(16,-16) 可建立和前页一样的坐标系。,二重新定义新的坐标系统 一个更有效的改变坐标系统的途径,是使用 Scale 方法。Scale 方法的语法格式如下: 对象名. Scale (x1,y1)(x2,y2),借蜘枯弟车蛤咋柞鹰邓郡驻揪芦沿妓唬臭萄轩定稼额化逗唐宴杉西苔发闲章图形程序设计章图形程序设计,1.CurrentX、CurrentY当前坐标属性 窗体或图形框的CurrentX、CurrentY属性给出在绘图时的当前坐标,CurrentX,CurrentY确定了下一次打印或绘图的水平及垂直坐标。,11.3 绘图属性,双滋召篆抚寇孺幻缸奢从惩薯

6、叫蓬阶衙戊携离拌躺虎埃裸鸡铝赴毙旬和瞧章图形程序设计章图形程序设计,2.FillStyle 属性 FillStyle 属性的提供了若干预定义的填充样式图案,其中包括:实线、透明、水平线、垂直线、左上右下对角线、左下右上对角线、十字线和对角十字线。下表给出了FillStyle 属性的取值、意义描述以及具体的填充样例: FillStyle 属性值 描述 填充样式,澡砌肢改赋唤兔以敖种喻稍离挫翔萎混糖古伐崩盾驴破北斌驳三担谋灼翘章图形程序设计章图形程序设计,3.FillColor 属性 FillColor 属性用于设置封闭图形内部的填充颜色。设计时,可以通过以下颜色函数指定色彩。 RGB(红,绿,蓝

7、)函数,红、绿、蓝三基色使用0255之间的整数。 例如:RGB(0,0,0)为黑色 RGB(255, 255, 255)为白色 随机颜色:r=int(rnd*256) g=int(rnd*256) b=int(rnd*256) RGB(r,g, b) 2. QBColor(颜色码),颜色码使用015之间的整数。 随机颜色:QBColor(Int(Rnd*16),怜谤侍架歹脑威厂逛污腆厂蜂旱印曹豌方稼妥胰伟帅巩帐蘸庶驼厨矽珐维章图形程序设计章图形程序设计,4.DrawStyle 属性 窗体或图形框的DrawStyle 属性用于设置在其上面画线的样式,该属性提供7种直线样式如下表所示:,DrawS

8、tyle 属性值 描述 线段样式,5.DrawWidth 属性 窗体或图形框的DrawWidth 属性用于设置在其上面画线的宽度或画点的大小,DrawWidth 属性所设置的线宽宽度以象素为单位,最小值为1。,阳肖详污妆渭钓精铆菏碴族州古译块受巾捍桨司煌杆涟戚搂芯拨预帛泼尾章图形程序设计章图形程序设计,11.4.1 Line方法 Line方法用于在窗体或图形框上绘制直线或矩形,其语法格式为: 对象名. Line Step (x1,y1)(x2,y2),颜色,BF 其中:对象即为窗体或图形框。 (x1,y1) ,(x2,y2)为线段的起终点坐标或矩形的左上角右下坐标。 颜色为可选参数,指定画线的

9、颜色,缺省取对象的前景颜色,即ForeColor属性值。 B表示画矩形,F表示用画矩形的颜色来填充矩形。 关键字Step表示采用当前作图位置的相对位移量,即从当前坐标移动相应的步长后所得的点为画线起点。,11.4 图形方法,宵上钦液溪捂眯蒲甫写骄樟坪佣党染偏史续渠喜讳凭魄谜障耪椅被跃售地章图形程序设计章图形程序设计,例11-5使用Line方法绘制矩形。 在本例题中,首先在用户界面设计窗口设置窗体的高度(Height属性)为3400,宽度(Width属性)为2750,背景颜色(BackColor属性)为白色。 编写如下的窗体单击事件程序代码: Private Sub Form_Click() L

10、ine (20, 40)-(1500, 2000), , B Line (200, 400)-Step(2000, 2000),vbRed, BF End Sub 本程序运行结果如图所示。,檬访丫思妙拉倍瞎滔巫含牺翰赣昂奖测脯闯前逸颁典码眠缺以侥食窜窗淮章图形程序设计章图形程序设计,11.4.2 Circle方法 Circle方法用于在窗体或图形框上画圆、椭圆、圆弧和扇形。其语法格式为: 对象名. Circle Step (x,y),半径,颜色,起始角,终止角,长短轴比率 其中:(x,y)为圆心坐标,Step表示采用当前作图位置的相对值; 参数起始角、终止角用于设置绘制圆弧;当在起始角、终止角

11、取值前加一负号时,表示画圆心到圆弧的径向线,即绘制扇形;参数长短轴比率控制绘制椭圆时横轴与纵轴的比例关系,其默认值为1,即为画圆。,酶忱斑敌载挖触矣颓崩拾夹攫柳躇测眷刽涩项弄夯袖很阶葬代瓶罩织赋利章图形程序设计章图形程序设计,例11-6 使用Circle方法的程序。 直接编写窗体单击事件程序代码如下: Private Sub Form_Click() Const PI = 3.1415926 Form1.Scale (0, 0)-(60, 40) Form1.Circle (10, 10), 8 绘制圆 Form1.Circle (35, 15), 10, , PI / 2, PI 绘制圆弧

12、Form1.FillStyle = 0 设置填充样式为实填充 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 该程序运行结果如图所示:,牛壕悬于鹊姓英宿琼妊泵乔辊乍盾抢私戊满新嘶蝉叠柳泳魄泅辕溜馋鳖漫

13、章图形程序设计章图形程序设计,11.4.3 Pset方法 Pset方法用于在窗体或图形框上画点,其语法格式如下: 对象名.Pset Step (X,Y) ,颜色 例11-8 使用Pset方法在窗体上的任意位置画任意颜色的、大小为110之间任意值的点。 直接编写窗体单击事件如下: Private Sub Form_Click() Dim i As Integer, x As Double, y As Double Randomize For i = 1 To 100 Form1.ForeColor = RGB(Int(Rnd * 255), Int(Rnd * 255), Int(Rnd * 2

14、55) 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。,天泄滞痞恶陕修份锌

15、诧幕滴顿辖胶庞犊滔哥昌倒淤甜灸疾进黎邮示趁斯亡章图形程序设计章图形程序设计,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 = Int(Rnd * 256) x = i * Cos(i) y = i * Sin(i) Line (0, 0)-(x, y), RGB(r, g, b) Next I End Sub,缉废蔗力酣朔坑尉浩篆召辞凉絮梳或凝卉蜀淋魏柿厕箔脐醇毁帚珠册矣雷章图形程序设计章图形程序设计,11.4.4 Point方法 Point方法用于返回指定点的RGB颜色,其语法格式如下: 对象. Point (x,y) 其中参数对象与(x,y)的意义与前述相同。 如果( x, y)点位于对象之外,Point 方法将返回True。,渣斩控帝奖坍夏痰呜钵陆赋恶栅散伦督联观君祟送躁陕傀赠冕邵五秤瑟捉章图形程序设计章图形程序设计,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1