版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8.1图形技术基础8.1.1坐标系统在VisualBasic中,每个对象定位于存放它的容器内,对象定位都要使用容器的坐标系,对象的Left、Top属性指示了该对象在容器内的位置。例如,窗体位于屏幕内,屏幕是窗体的容器。在窗体内绘制控件,窗体就是控件的容器。如果在图形框内绘制图形,该图形框就是容器。对象只能在容器界定的范围内变动。当移动容器时,容器内的对象也随着一起移动,而且与容器的相对位置保持不变。每个容器都有一个坐标系。构成一个坐标系,需要三个要素:坐标原点、坐标度量单位、坐标轴的长度与方向。下一页返回8.1图形技术基础属性ScaleTop、ScaleLeft用于控制容器左边和顶端的坐标,根据这两个属性值可形成坐标原点。所有对象的ScaleTop、ScaleLeft属性的默认值均为0,坐标原点在对象的左上角。属性ScaleHeight和ScaleWidth确定对象内部水平方向和垂直方向的单元数。属性ScaleMode决定对象坐标的度量单位,共有8种单位形式。ScaleMode属性设置如表8-1所示。ScaleMode属性默认时为twip。每英寸1440个twip,20个twip为1磅。上一页下一页返回8.1图形技术基础这一度量单位规定的是对象打印时的大小,屏幕上的实际物理距离可因显示器而异,普通14英寸VGA显示器在800×600像素模式下,最大窗体尺寸约为12000×8700twip。度量单位转换可使用ScaleX和ScaleY方法,其语法格式为:对象.ScaleX(转换值,原坐标单位,转换坐标单位)对象.ScaleY(转换值,原坐标单位,转换坐标单位)改变容器对象的ScaleMode属性值,不会改变容器的大小或它在屏幕上的位置。上一页下一页返回8.1图形技术基础当设置ScaleMode属性值后,它只是改变容器对象的度量单位,VisualBasic会重新定义对象坐标度量属性ScaleHeight和ScaleWidth,以便使它们与新刻度保持一致。无论采用哪一种坐标单位,默认的坐标原点为对象的左上角,横向向右为X轴的正向,纵向向下为Y轴的正向,参见图8-1。需要注意的是窗体的Height属性值包括了标题栏和水平边框宽度,同样Width属性值包括了垂直边框宽度。实际可用高度和宽度由ScaleHeight和ScaleWidth属性确定。上一页下一页返回8.1图形技术基础当新建一个窗体时,新窗体采用默认坐标系,坐标原点在窗体的左上角,Height=3600,Width=4800,ScaleTop=0,ScaleHeight=3195,ScaleWidth=4680(单位均为twip)。窗体的Left、Top属性指示窗体在屏幕内的位置。8.1.2自定义坐标系对象的坐标系允许用户自行定义。Scale方法是建立用户坐标系最便利的方法,其语法如下:[对象.]Scale[(xLeft,yTop)-(xRight,yBottom)]其中:上一页下一页返回8.1图形技术基础对象可以是窗体、图形框或打印机。如果省略对象名,则为带有焦点的窗体对象。(xLeft,yTop)表示对象的左上角的坐标值,(xRight,yBottom)为对象的右下角的坐标值。均为单精度数值。VB根据给定的坐标参数计算出ScaleLeft、ScaleTop、ScaleWidth和ScaleHeight的值:ScaleLeft=xLeftScaleTop=yTopScaleWidth=xRight–xLeftScaleHeight=yBottom–yTop上一页下一页返回8.1图形技术基础8.1.3图形层VisualBasic在构造图形时,在三个不同的屏幕层次上放置图形的可视组成部分。就视觉效果而言,最上层离用户最近,而最下一层离用户最远。表8-2列出了三个图形层所放置的对象类型。位于上层的对象会遮盖下层相同位置上的任何对象,即使下层的对象在上层对象后面绘制。位于同一层内的对象在发生层叠时,位于前面的对象会遮盖位于后面的对象。设计时可以通过格式菜单中的顺序命令调整Z序列,运行时可使用ZOrder方法将特定的对象调整到同一图形层内的前面或后面。ZOrder方法的语法为:上一页下一页返回8.1图形技术基础对象.ZOrder[position]其中,“对象”可以是窗体和除了菜单和时钟之外的任何控件。Position指出一个控件相对于另一个控件的位置的数值:0表示该控件定位于Z序列的前面;1表示该控件被定位于Z序列的后面。上一页返回8.2绘图属性8.2.1当前坐标窗体或图形框或打印机的CurrentX、CurrentY属性给出这些对象在绘图时的当前坐标。这两个属性在设计阶段不能使用。当坐标系确定后,坐标值(x,y)表示对象上的绝对坐标位置。如果坐标值前加上关键字Step,则坐标值(x,y)表示对象上的相对坐标位置,即从当前坐标分别平移x、y个单位,其绝对坐标值为(CurrentX+x,CurrentY+y)。当使用CLS方法后,CurrentX、CurrentY属性值为0。下一页返回8.2绘图属性8.2.2线宽与线型窗体、图形框或打印机的DrawWidth属性给出这些对象上所画线的宽度或点的大小。DrawWidth属性以像素为单位来度量,最小值为1。窗体或图形框或打印机的DrawStyle属性给出这些对象上所画线的形状。属性设置含义见表8-3。以上线型仅当DrawWidth属性值为1时才能产生。当DrawWidth的值大于1且DrawStyle属性值为1~4时,都只能产生实线效果。当DrawWidth的值大于1,而DrawStyle属性值为6时,所画的内实线仅当是封闭线时起作用。上一页下一页返回8.2绘图属性如果使用控件,则通过DrawWidth属性定义线的宽度或点的大小,通过BorderStyle属性给出所画线的形状。8.2.3填充与色彩封闭图形的填充方式由FillStyle、FillColor这两个属性决定。FillColor指定填充图案的颜色,默认的颜色与ForeColor相同。FillStyle属性指定填充的图案,共有8种内部图案,属性设置填充图案如图8-7所示。VisualBasic默认采用对象的前景色(ForeColor属性)绘图,也可以通过颜色函数指定色彩。RGB()函数和QBColor()函数颜色函数在前面已作过介绍。上一页返回8.3图形方法8.3.1Line方法Line方法用于画直线或矩形,其语法格式如下:[对象.]Line[[Step](x1,y1)]-[Step](x2,y2)[,[颜色][,B[F]]]其中:“对象”指示Line在何处产生结果,它可以是窗体或图形框,默认时为当前窗体。(x1,y1)为线段的起点坐标或矩形的左上角坐标。(x2,y2)为线段的终点坐标或矩形的右下角坐标。下一页返回8.3图形方法关键字Step表示采用当前作图位置的相对值。关键字B表示画矩形。关键字F表示用画矩形的颜色来填充矩形,F必须与关键字B一起使用。如果只用B不用F,则矩形的填充由FillColor和FillStyle属性决定。用Line方法在窗体上绘制图形时,如果将绘制过程放在Form_Load事件,必须将窗体的AutoRedraw属性设置为True,当窗体的Form_Load事件完成后,窗体将产生重画过程,否则所绘制的图形无法在窗体上显示。AutoRedraw属性设置为true时,将使用更多的内存。上一页下一页返回8.3图形方法用Line方法在一个窗体上画坐标轴和坐标刻度,运行结果如图8-8所示。要在窗体上画坐标轴和坐标刻度,必须先定义坐标系,确定坐标原点。X轴上坐标刻度线两端点的坐标满足(i,0)-(i,y0),其中y0为一定值。Y轴上标记坐标刻度线两端点的坐标满足(0,i)-(x0,i),其中x0也是一定值。坐标轴上刻度线的数字标识,可通过CurrentX、CurrentY属性设置当前位置,然后用Print输出对应的数字。8.3.2Circle方法Circle方法用于画圆、椭圆、圆弧和扇形,其语法格式如下:上一页下一页返回8.3图形方法[对象.]Circle[Step](x,y),半径[,[颜色][,[起始角][,[终止角][,长短轴比率]]]]其中:“对象”指示Circle在何处产生结果,它可以是窗体或图形框或打印机,默认时为当前窗体。(x,y)为圆心坐标,关键字Step表示采用当前作图位置的相对值。圆弧和扇形通过参数起始角、终止角控制。当起始角、终止角取值在0~2π时为圆弧,当在起始角、终止角取值前加一负号时,画出扇形,负号表示画圆心到圆弧的径向线。椭圆通过长短轴比率控制,默认值为1时,画出的是圆。上一页下一页返回8.3图形方法8.3.3Pset方法Pset方法用于在窗体或图形框或打印机指定位置上画点,其语法格式如下:[对象.]Pset[Step](x,y)[,颜色]其中:参数(x,y)为所画点的坐标。关键字Step表示采用当前作图位置的相对值。采用背景颜色可清除某个位置上的点。利用Pset方法可画任意曲线。上一页下一页返回8.3图形方法8.3.4Point方法Point方法用于返回窗体或图形框上指定点的RGB颜色,其语法格式如下:[对象.]Point(x,y)如果由(x,y)坐标指定的点在对象外面,Point方法返回-1(True)。上一页返回8.4应用8.4.1工程图形绘制利用Line方法和Circle方法及DrawWidth、DrawStyle和DrawMode属性,可绘制各种工程图形。8.4.2简单动画设计有计划的移动一个对象并同时改变对象的形状和尺寸,这就是动画。编程时可以采用帧动画原理,即通过一系列静态图辅之以连续快速变化产生动画效果,也可以通过Move方法改变图形对象的Top及Left属性来移动图形。此外,在移动图形的同时还可以改变对象的Width、Height属性值形成相对运动。动画的速度使用时钟控制。下一页返回8.4应用8.4.3图形漫游当图形的尺寸大于窗体时,窗体上只能显示图形的一部分,可以使用漫游的手段显示该图形保存在内存中的其他部分。所谓图形漫游就是使用鼠标或者按下箭头键滚动屏幕,让图形逐渐显示出来。8.4.4图形处理技术1.操作像素对于像素操作可以使用Pset和Point方法。Pset生成像素,而Point读取像素值。如果对整个图形进行逐个的像素操作,这是一个很慢的过程。上一页下一页返回8.4应用Windows提供了移动像素的强大的机制—BitBlt,即位块传送。VisualBasic可通过PaintPicture方法访问内置在操作系统中的BitBlt服务程序。PaintPicture方法可从一个窗体或图形框控件中向另一个对象复制一个矩形区域的像素。PaintPicture方法的语法如下:dpic.PaintPicturespic,dx,dy,dw,dh,sx,sy,sw,sh,rop其中:参数dpic为图形传送目标对象,可以是窗体、图形框或打印机对象。spic为传送源对象,可以是图形框、图像框或窗体的Picture属性。上一页下一页返回8.4应用dx、dy是被传送图形在目标对象中的起始位置的水平和垂直坐标。dw、dh是被传送图形在目标控件中的所用矩形区域的宽和高。可选用,如果该参数省略,则使用源图形的宽度和高度。sx、sy为在图源对象内指定要传送的图形矩形区域的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年陕西青年职业学院单招综合素质考试题库参考答案详解
- 2026年长治职业技术学院单招综合素质考试题库及完整答案详解1套
- 2026年辽宁省铁岭市单招职业倾向性测试题库参考答案详解
- 2026年重庆三峡职业学院单招职业适应性测试题库带答案详解
- 泰和县武山垦殖场招聘社区网格员考试试题附答案详解
- 2026湖南常德市石门县部分事业单位公开引进高层次人才29人备考题库及答案详解参考
- 2026湖南省益阳市教育系统第二批紧缺(急需)人才引进和公开招聘84人备考题库附答案详解(综合题)
- 2026湖南长沙工业学院第一批公开引进博士15人备考题库及一套参考答案详解
- 2026甘肃嘉峪关市事业单位专项招聘基层项目人员和专职社区工作者64人备考题库及答案详解(网校专用)
- 2026甘肃甘南州舟曲县招聘乡村医生33人备考题库附答案详解(完整版)
- 京瓷哲学的培训课件
- 淋膜基础知识培训课件
- 《电动汽车储能系统原理与维修》课件-项目四 北汽新能源EV200动力蓄电池
- 2026届湖南长沙青竹湖重点中学中考语文适应性模拟试题含解析
- 《养老社区停车空间选址及车位配建指标指南》
- 检验检测机构内审员考试试卷(附答案)
- 《文言文二则》(第1课时)教学课件
- 2025年广东中山大学孙逸仙纪念医院基础与转化医学研究中心实验岗位招聘2人笔试历年专业考点(难、易错点)附带答案详解
- DB42T 1713-2021 城市道路路面维修养护技术规程
- DB5309-T 83-2025 临沧市暴雨强度公式
- T/CI 477-2024石油化工企业数字化碳排放管理体系建设指南
评论
0/150
提交评论