第十章图形操作PPT课件下载推荐.ppt
《第十章图形操作PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《第十章图形操作PPT课件下载推荐.ppt(36页珍藏版)》请在冰豆网上搜索。
缺省时其值均大于0,此时,X轴的正向向右,Y轴的正向向下。
对象右下角坐标值为:
(ScaleLeft+ScaleWidth,ScaleTop+ScaleHeight)如果ScaleWidth的值小于0,则X轴的正向向左,如果ScaleHeight的值小于0,则Y轴的正向向上。
第三:
利用Scale方法设置坐标系对象.Scale(x1,y1)-(x2,y2),对象的左上角坐标值,对象的右下角坐标值,可在程序中使用Scale方法改变坐标系统。
当Scale方法不带参数时,取消用户定义的坐标系,采用缺省坐标系。
(x1,y1),(x2,y2),Shape控件可以用来画矩形、正方形、椭圆、圆、圆角矩形及圆角正方形。
使用控件绘图(Shape和Line控件),Line控件用于在窗体、图片框和框架中画各种直线段,Shape形状控件,使用形状控件的操作步骤:
(1)单击工具箱中的Shape控件按钮。
(2)在窗体上画出形状。
(3)设置属性,定制形状的外观。
(4)调整设置好形状。
可单击形状使其成为可编辑状态,通过鼠标拖动改变其大小和位置,再用属性窗口设置属性,使其符合要求。
Shape属性:
设置其显示形状。
FillStyle属性:
设置图形填充样式,可以构成不同的填充效果。
Fillcolor:
设置图形填充色Bordercolor:
设置图形边框色Borderwidth:
设置图形边框宽度,shape控件的主要属性:
形状控件的Shape属性,形状控件的FillStyle属性,Line直线控件,使用线条控件的操作步骤:
(1)单击工具箱中的Line图标;
(2)移动鼠标到要画线的起始位置:
(3)按下鼠标左键并拖曳鼠标到要画线的结束处,放开鼠标左键。
(4)打开属性窗口,设置线条属性,如线条风格、线条颜色等。
(5)需要对设置好的线条进行调整时,可再单击该线条,通过鼠标的拖动来改变线条的大小或位置,或通过属性窗口来改变属性值。
线条控件的主要属性:
BorderStyle属性:
设置线条的类型。
BorderWidth属性:
设置线条的宽度,即线条的粗细。
BorderColor属性设置线条的颜色。
0透明线1实心线2虚线3点线4点划线5点点相间的长划线6内部实线,BorderStyle属性的设置值,返回,使用绘图方法绘图,当前坐标:
CurrentX,CurrentY属性给出窗体或图片框在绘图时的当前坐标。
在调用与绘图有关的方法时,currentx与currenty的值会自动改变。
变化情况如下:
Pset方法:
当前坐标用来指向画出的点。
Line方法:
当前坐标指向画出线的终点。
Circle方法:
当前坐标指向画出圆形的中心。
Cls:
当前坐标指向坐标原点。
Pset方法:
在指定位置用指定颜色画点。
其语法格式如下:
对象PsetStep(X,Y)其中:
Step:
可选参数,使用此参数表明所画的点位于相对当前坐标点的(X,Y)处;
缺省时,(X,Y)为点相对于当前坐标系的的位置坐标;
Co1or:
参数可选,用于设置点的颜色。
图形颜色,在VisualBasic系统中,所有的颜色属性都由一个Long整数表示。
在代码中可使用4种方式给颜色赋值:
使用RGB函数。
使用QBColor函数。
使用系统提供的颜色常量。
直接使用Long型颜色值。
一、使用RGB函数RGB函数可返回一个Long整数,用来表示一个RGB颜色值。
其使用格式如下:
RGB(red,green,blue)说明:
red,green,blue3种颜色,从0255之间的一个亮度值(0表示亮度最低,而255表示亮度最高)。
例:
Form1.BackColor=RGB(255,0,0)设定背景红色,二、使用QBColor函数QBColor函数可返回一个Long值,用来表示所对应颜色值的RGB颜色码。
QBColor(color)说明:
color参数是一个界于015的整型数,分别代表16种颜色。
0-黑,1-蓝,2-绿,3-青,4-红,等等。
三、使用系统定义的颜色常数在VB系统中已经预先定义了常用颜色的颜色常数,如常数vbRed就代表红色,vbGreen代表绿色等等。
可在“对象浏览器”中查询常数列表。
例如,要将窗体的背景色设为红色。
则可使用如下语句:
Form1.BackColor=vbRed,四、直接使用颜色设置值用十六进制数指定颜色的格式为:
&
HBBGGRR其中,BB指定蓝颜色的值,GG指定绿颜色的值,RR指定红色的值。
每个数段都是两位十六进制数,即从00FF。
例如,Form1.BackColor=&
HFF0000它相当于:
Form1.BackColor=RGB(0,0,255),例:
颜色的渐变过程。
PrivateSubForm_Click()DimjAsIntegerDimxAsSingleDimyAsSingley=Form1.ScaleHeightx=Form1.ScaleWidthsp=255/yForj=0ToyLine(0,j)-(x,j),RGB(j*sp,j*sp,j*sp)NextjEndSub,例:
随机产生多条彩色射线。
PrivateSubForm_Click()Dimi%,x%,y%Form1.Scale(-100,100)-(100,-100)Fori=1To100x=100*RndIfRnd0.5Thenx=-xy=100*RndIfRnd0.5Theny=-yLine(0,0)-(x,y),QBColor(15*Rnd)NextiEndSub,思考:
如果没有两条if语句,产生的射线在什么范围?
Point方法用于返回窗体或图形框上指定点的RGB颜色。
语法格式如下:
对象.Point(x,y),Line方法:
在窗体或图片框中指定的位置画线或矩形。
对象LineStep(Xl,Yl)-Step(X2,Y2),BF其中:
(X1,Y1)和(X2,Y2)为线段的起始,终止点的坐标或矩形的左上角和右下角坐标;
step仍是相对意义,加入step后坐标为相对于当前点(currentx,currenty)的坐标;
Color用于设置画线的颜色;
B表示画矩形,F表示用画矩形的颜色来填充矩形,注意:
各参数可根据实际要求进行取舍,但如果舍去的是中间参数,参数的位置分隔符不能舍去。
例1:
画一条从(250,300)到(400,500)点的直线。
Line(250,300)-(400,500)例2:
从当前位置画到(400,500)点的直线。
Line-(400,500)例3:
出发点是(150,250),终点是向X轴正向走150,向Y轴正向走50的点。
Line(150,250)-Step(150,50)等同于:
Line(150,250)-(300,300),例4:
画一个左上角在(20,40),右下角在(150,200)的矩形,注意在color参数省略时,逗号并不省略。
Line(20,40)-(150,200),B例5:
用红色从(20,40)到(70,110)画一个实心的矩形。
Line(20,40)-Step(50,70),RGB(255,0,0),BF,例:
使用Line方法,画出一个三角形和一个矩形。
PrivateSubForm_Click()Form1.Scale(0,0)-(9,9)定义新的坐标系Form1.ForeColor=QBColor
(1)窗体的前景色为蓝色Line(0,6)-Step(4,0)画直线Line-Step(-2,-4)以第一条直线的终点为起点再画一直线Line-Step(-2,4)以第二条直线的终点为起点再画一直线Line(5,2)-(8,6),BF画矩形并填充endsub,Circle方法Circle方法用于画圆、椭圆、圆弧和扇形。
格式如下:
对象.CircleStep(x,y),颜色,起始角,终止角,半径:
要绘制的圆形,圆弧或扇形的圆心半径,若绘制的为椭圆,则为长半轴的长度颜色:
所绘制图形的边框颜色,缺省时为当前容器的前景色起始角:
所绘制圆弧或扇形的起始角度,弧度为单位终止角:
要绘制圆弧或扇形的终止角度,弧度为单位纵横比:
要绘制的椭圆形长半轴和短半轴的比值,1时为椭圆,1,为椭圆,=1为圆,Circle方法的使用:
Form1.Circle(-0.2,0),0.5,vbRed,Circle(-0.2,0),0.5,vbBlue,0.5,Circle(-0.2,0),0.5,0.5,2.6,Circle(-0.2,0),0.5,vbGreen,-0.5,-2.6,Circle(-0.2,0),0.5,vbMagenta,-2.5,0.6,例:
在窗体上画一个实心圆,程序代码如下:
PrivateSubForm_Click()Randomizer=255*Rnd:
g=255*Rnd:
b=255*Rnd求得随机颜色参数x=Form1.ScaleWidth/2y=Form1.ScaleHeight/2确定圆心坐标IfxyThen求半径的最大值r=yElser=xEndIfForj=0TorCircle(x,y),j,RGB(r,g,b)画同心圆NextjEndSub,思考:
参考本例,如何画出同心椭圆?
AutoRedraw属性和Paint事件,设置和返回对象或控件是否能自动重绘。
若值为True,使Form对象或PictureBox控件的自动重绘有效。
对象不接受绘制事件(Paint事件)。
False无自动重绘的效果,且将图形或文本只写到屏幕上,Paint事件当调整窗体大小时,希望图形的大小也要随之进行改变,可以进行如下设置设置AutoRedraw属性为true将绘制图形的语句写在窗体的paint事件中在窗体的resize事件中调用窗体的refresh方法,Paint事件:
当移动一个对象之后,或改变对象的大小之后,或覆盖该对象的窗体被移开以后,该对象的部分或全部暴露时,启动paint事件Resize事件:
当控件被重新创建或改变控件大小时发生该事件,可以由系统触发,也可在运行时由代码触发Refresh方法:
强制全部重绘一个窗体或控件.,