vb 图形和绘图操作.docx
- 文档编号:12188079
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:14
- 大小:25.35KB
vb 图形和绘图操作.docx
《vb 图形和绘图操作.docx》由会员分享,可在线阅读,更多相关《vb 图形和绘图操作.docx(14页珍藏版)》请在冰豆网上搜索。
vb图形和绘图操作
图形和绘图操作
坐标系统使用颜色使用绘图工具使用图形方法绘图
坐标
X值:
是沿X轴点的位置,窗体中最左端是缺省位置0是沿X轴点的位置,窗体中最左端是缺省位置0是沿Y轴点的位置,窗体中最上端是缺省位置0Y值:
是沿Y轴点的位置,窗体中最上端是缺省位置0X,Y的值可以小于的值可以小于0X,Y的值可以小于0,也可以大于容器宽度或高度
相对于Form1(0,0)相对于Form1(1200,800)相对于Frame1(0,0)
坐标值的刻度
缺省使用缇(缺省使用缇(Twip)为测量单位.)为测量单位.缇是打印机的一磅的1/20(1440缇等于一英寸;567缇缇等于一英寸;缇是打印机的一磅的(缇等于一英寸缇等于一厘米)这些测量值指示对象打印后的大小.等于一厘米).这些测量值指示对象打印后的大小.利用缇可以精确地控制图形打印输出的质量.利用缇可以精确地控制图形打印输出的质量.通过设置控件的ScaleMode属性,可以采用不同的刻属性,通过设置控件的属性度来表示坐标值
ScaleMode属性属性
ScaleMode属性,可以取以下常量值:
属性,可以取以下常量值:
属性
vbUser:
0,用户自定义.若直接设置了ScaleWidth,ScaleHeight,ScaleTop或ScaleLeft,则ScaleMode属性自动,,设为0vbTwips(缺省值):
1,缇(缺省值),vbPoints:
2,vbPoints:
2,磅,72磅等于一英寸72磅等于一英寸vbPixels:
3,像素.像素是监视器或打印机分辨率的最小单位,:
像素.像素是监视器或打印机分辨率的最小单位,每英寸里像素的数目由设备的分辨率决定vbCharacters:
4,字符.打印时,一个字符有1/6英寸高,英寸高,:
字符.打印时,1/12英寸宽vbInchs:
5,英寸:
vbMillimeters:
6,毫米:
vbCentimeters:
7,厘米:
颜色
指定颜色有四种方式:
指定颜色有四种方式:
使用RGB函数,该函数有三个参数,分别取值0255;RGB函数1)使用RGB函数,该函数有三个参数,分别取值0-255;使用QBColor函数,该函数有一个参数,取值015,QBColor函数2)使用QBColor函数,该函数有一个参数,取值0-15,16种QuickBasic颜色中的一种颜色中的一种;16种MicrosoftQuickBasic颜色中的一种;使用内部描述颜色的常量,vbRed;3)使用内部描述颜色的常量,如vbRed;直接输入一种颜色值.4)直接输入一种颜色值.
1)调色板颜色值:
正常的RGB颜色的有效范围,是从0到调色板颜色值:
正常的RGB颜色的有效范围,是从0RGB颜色的有效范围16,777,215(&HFFFFFF&)16,777,215(&HFFFFFF&).即可以用十六进制数按照下述语法来指定颜色:
述语法来指定颜色:
&HBBGGRR&2)系统颜色值:
最高位设置为时,颜色值不再代表系统颜色值:
最高位设置为1时颜色值不再代表RGB颜颜而是从Windows"控制面板"指定的系统环境范围颜控制面板"色,而是从控制面板这些数值对应的系统颜色范围是从&H80000000到色.这些数值对应的系统颜色范围是从到&H80000015..
图形框,图像框,直线和形状控件
图形框控件(图形框控件(PictureBox)用于显示图片和图像,)用于显示图片和图像,或作为其它控件的容器.或作为其它控件的容器.图像框控件(图像框控件(Image)也可以用于显示图片和图像,)也可以用于显示图片和图像,Image控件是轻量图形控件,需要较少的系统资源,控件是轻量图形控件,控件是轻量图形控件需要较少的系统资源,显示速度较快.显示速度较快.直线控件(Line)用于画线.直线控件(Line)用于画线.形状控件(Shape)用于构造简单的图形,形状控件(Shape)用于构造简单的图形,如:
正方形,圆形,圆角正方形等.方形,圆形,圆角正方形等.
PictureBox控件PictureBox控件
此控件用于显示图像,此控件用于显示图像和作为其它控件的容器Picture属性指定显示图像属性,属性1.设计时在"属性窗口"中的Picture属性栏中,选择图片设计时在"属性窗口"中的Picture属性栏中,Picture属性栏中文件,就可将图片加载到PictureBox控件中;PictureBox控件中文件,就可将图片加载到PictureBox控件中;2.从其它应用程序中复制图形后把它粘贴到PictureBox控从其它应用程序中复制图形后把它粘贴到PictureBoxPictureBox控件中.件中.3.在程序中使用LoadPicture函数对Picture属性赋值,因在程序中使用LoadPicture函数对Picture属性赋值,LoadPicture函数对Picture属性赋值Picture属性是对象类型所以需要使用Set关键字,属性是对象类型,Set关键字为Picture属性是对象类型,所以需要使用Set关键字,如:
SetPicture1.Picture=LoadPicture("d:
\map\中国中国.jpg")中国SetPicture2.Picture=LoadPicture("d:
\map\美国美国.jpg")美国SetPicture2.Picture=LoadPicture'清除图片
PictureBox控件PictureBox控件
AutoSize属性:
使控件自动调节以适应图像大小属性:
属性第一个图形框第一个图形框AutoSize属性为属性为False属性为第二个图形框AutoSize属性为属性为True第二个图形框属性为
PictureBox控件PictureBox控件
图形框有三组表示高和宽的属性,分别代表不同的含义:
图形框有三组表示高和宽的属性,分别代表不同的含义:
图形框控件的高和宽:
同其它控件一样,PictureBox控件的图形框控件的高和宽:
同其它控件一样,控件的Height和Width属性分别记录图形框控件所占空间的高度和宽属性分别记录图形框控件所占空间的高度和宽和属性度.图片的高和宽:
图片可能小于或超过控件的范围,要取得图图片的高和宽:
图片可能小于或超过控件的范围,片的真实大小,可以利用控件的Picture对象来获取,Picture对象来获取,片的真实大小,可以利用控件的对象来获取对象的Height和Width属性分别记录图片的高度和宽度,如属性分别记录图片的高度和宽度对象的和属性分别记录图片的高度和宽度,Picture1.Picture.Height可取得第一个图形框内图片的高度,可取得第一个图形框内图片的高度,可取得第一个图形框内图片的高度但要注意的是这两个属性的度量单位与控件的缺省度量单位不同.不同.图形框内部绘图区的高和宽:
在VB中,PictureBox控件有两图形框内部绘图区的高和宽:
中控件有两个特殊的属性:
个特殊的属性:
ScaleWidth和ScaleHeight,它们代表的是图和,形框内部区域的水平或垂直度量单位,形框内部区域的水平或垂直度量单位,图形框内部绘图区的精确尺寸应略小于图形框的尺寸.精确尺寸应略小于图形框的尺寸.
PictureBox控件PictureBox控件
可以利用图形框的方法在图形框上绘制文字或图形常用方法:
常用方法:
Print输出文本输出文本Circle,Line,Point,Pset画图画图PaintPicture方法,在控件上绘制图像文件,方法,方法在控件上绘制图像文件,可以实现图像的缩放,平铺,淡化效果等.可以实现图像的缩放,平铺,淡化效果等.
Image控件Image控件
只能用于显示图像,不能作为容器,只能用于显示图像,不能作为容器,加载速度快Picture属性,显示的图像,缺省情况下,Image控件属性,属性显示的图像,缺省情况下,控件总是根据图片大小自动调整其尺寸,总是根据图片大小自动调整其尺寸,而不管设计时所定义的控件尺寸,定义的控件尺寸,这样图片能保持其原始尺寸并得到完整的显示.完整的显示.Stretch属性,设定图像是否自动调整大小适应控件属性,属性
一个图片显示程序
【例】编写图片显示程序,提供图片按照窗口编写图片显示程序,高度,按照窗口宽度和实际大小三种方式显示.高度,按照窗口宽度和实际大小三种方式显示.
一个图片显示程序
使用使用PictureBox作为容器,使用Image来显示图片,因作为容器,使用来显示图片,作为容器来显示图片不仅可以以原始尺寸显示图片,为Image不仅可以以原始尺寸显示图片,同时图片会不仅可以以原始尺寸显示图片自动调节适应Image1控件尺寸自动调节适应控件尺寸当适应窗口高度时,将Image1控件的当适应窗口高度时,控件的Height属性设置控件的属性设置控件的内部区域的高度,为Picture1控件的内部区域的高度,同时按照图片比控件的内部区域的高度例计算Width属性值,最后设置属性值,属性为True,例计算属性值最后设置Stretch属性为属性为,图片便自动适应窗口高度显示.图片便自动适应窗口高度显示.
PrivateSuboptHeight_Click()Image1.Width=Image1.Width*Picture1.ScaleHeight/Image1.HeightImage1.Height=Picture1.ScaleHeightImage1.Stretch=TrueEndSub
一个图片显示程序
当适应窗口宽度时,将Image1控件的当适应窗口宽度时,控件的Width属性控件的属性设置为Picture1控件的内部区域的宽度,同时按控件的内部区域的宽度,设置为控件的内部区域的宽度照图片比例计算Height属性值,同样设置属性值,照图片比例计算属性值同样设置Stretch属性为True,图片便自动适应窗口宽度显示.代属性为,图片便自动适应窗口宽度显示.码如下:
码如下:
PrivateSuboptWidth_Click()Image1.Height=Image1.Height*Picture1.ScaleWidth/Image1.WidthImage1.Width=Picture1.ScaleWidthImage1.Stretch=TrueEndSub
一个图片显示程序
选择实际大小时,只要将Image1控件的选择实际大小时,只要将控件的Stretch控件的属性设置为False即可,代码如下:
即可,属性设置为即可代码如下:
PrivateSuboptActual_Click()Image1.Stretch=FalseEndSub
直线控件(Line)直线控件(Line)
通过设置Line控件的属性,可以定义直线的位置,长度,控件的属性,可以定义直线的位置,长度,通过设置控件的属性颜色和样式等外观.但是Line控件功能有限.控件功能有限.颜色和样式等外观.但是控件功能有限1,BorderStyle属性:
提供六种直线样式:
透明,实线,属性:
属性提供六种直线样式:
透明,实线,虚线,点线,点划线,双点划线和内实线.虚线,点线,点划线,双点划线和内实线.2,BorderColor属性:
指定直线的颜色.属性:
属性指定直线的颜色.3,移动和调整线段长度,在运行时,不能用在运行时,不能用Move方法移动直线,只可更改直线方法移动直线,方法移动直线控件的X1,,和属性来移动控件或调整直线控件的,X2,Y1和Y2属性来移动控件或调整直线控件长度.和属性设置直线控件左端点的坐标属性设置直线控件左端点的坐标,控件长度.X1和Y1属性设置直线控件左端点的坐标,X2和Y2属性设置直线控件右端点的坐标.属性设置直线控件右端点的坐标.和属性设置直线控件右端点的坐标
形状控件(Shape)形状控件(Shape)
可用Shape控件在窗体,框架或图形框中创建下述预控件在窗体,可用控件在窗体定义形状:
矩形,正方形,椭圆形,圆形,定义形状:
矩形,正方形,椭圆形,圆形,圆角矩形或圆角正方形.形或圆角正方形.1,Shape属性:
指定形状,有六种预定义的形状.如属性:
属性指定形状,六种预定义的形状.vbShapeRectangle,vbShapeSquare,vbShapeOval等.2,FillStyle属性:
提供了若干预定义的填充样式图案,属性:
提供了若干预定义的填充样式图案,,如实线,水平线,十字线等.如实线,水平线,十字线等.3,FillColor属性:
设置填充颜色.该属性不影响边框颜,属性:
设置填充颜色.属性属性)色(BorderColor属性)属性
绘图方法
VB提供有以下创建图形的方法,这些图形方法适用于VB提供有以下创建图形的方法,提供有以下创建图形的方法窗体和图形框控件.窗体和图形框控件.1)Cls:
清除所有图形和调用Print方法所作的输出:
清除所有图形和调用方法所作的输出2)PSet:
设置屏幕指定位置像素的颜色:
3)Line:
画线,矩形,或填充框:
画线,矩形,4)Circle:
画圆,椭圆,或圆弧:
画圆,椭圆,5)Point:
返回指定点的颜色值:
6)PaintPicture:
在任意位置画出图形:
使用Pset方法画点方法画点使用
[object.]PSet(x,y)[,color]
x和y参数为所画点的坐标是单精度参数,所以它们可和参数为所画点的坐标是单精度参数,参数为所画点的坐标,是单精度参数以接受整数或分数的输入,可以适应不同的坐标系.以接受整数或分数的输入,可以适应不同的坐标系.color参数指定点的颜色,该参数可以使用任意一种方参数指定点的颜色,参数指定点的颜色法来指定.如果没有指定color参数,PSet将像素设置参数,法来指定.如果没有指定参数将像素设置为前景色(对象的ForeColor属性).属性)为前景色(object对象的对象的属性下述语句在当前窗体,窗体和Picture1图形框下述语句在当前窗体,MyForm窗体和窗体和图形框上设置各种点:
上设置各种点:
PSet(10.75,50.33)MyForm.PSet(230,1000)Picture1.PSet(1.5,3.2)PSet(50,75),RGB(0,0,255)
Pset方法示例方法示例
【例】编写程序,在窗体上随机画出各种颜色的点.编写程序,在窗体上随机画出各种颜色的点.
SubForm_Click()DimRAsInteger,GAsInteger,BAsIntegerDimXPosAsInteger,YPosAsIntegerDo'设置红,绿,兰随机颜色值,赋值后会自动转换为整数设置红,兰随机颜色值,R=255*RndRnd函数:
生成一个小于大函数:
函数生成一个小于1大G=255*Rnd于等于0的随机数于等于的随机数B=255*Rnd'设置水平和垂直位置的随机坐标值DoEvents:
因为循环没有给:
XPos=Rnd*ScaleWidthYPos=Rnd*ScaleHeight定结束条件(死循环),),程定结束条件(死循环),程'用PSet画点画点序启动后将无法正常中止,序启动后将无法正常中止,PSet(XPos,YPos),RGB(R,G,B)DoEvents函数允许操作系统函数允许操作系统DoEvents获取控制权以处理其他事件.获取控制权以处理其他事件.LoopEndSub
点的尺寸
PSet方法所画点的尺寸取决于对象的方法所画点的尺寸取决于对象的DrawWidth属性方法所画点的尺寸取决于对象的属性缺省时DrawWidth为1,PSet就将一个像素的点设值.缺省时为,就将一个像素的点设置为指定颜色.大于1,置为指定颜色.当DrawWidth大于,则点的尺寸将变大于使其中心位于指定坐标.这样只要DrawWidth足大,使其中心位于指定坐标.这样只要足够大,就可以画各种颜色的实心圆了.够大,PSet就可以画各种颜色的实心圆了.就可以画各种颜色的实心圆了Form1.DrawWidth=Rnd*50+1
擦除点
擦除一点,只要把其颜色设置为背景色即可,如:
只要把其颜色设置为背景色即可,
Form1.PSet(50,75),Form1.BackColor
指定点的坐标
有两种方法来指定点的坐标:
有两种方法来指定点的坐标:
1)使用参数(x,y)指定点的坐标.如:
PSet(20,20)使用参数()指定点的坐标.2)当在参数(x,y)前面加上Step关键字后,就是相关键字后,当在参数()对定位,当前坐标的偏移量.对定位,(x,y)指定的就是相对当前坐标的偏移量.)指定的就是相对当前坐标的偏移量如:
PsetStep(20,20)
当前的坐标点就是调用图形方法或Print方法所画最后点的位置,方法所画最后点的位置,当前的坐标点就是调用图形方法或方法所画最后点的位置该位置由对象的CurrentX和CurrentY属性保存,它们的初始值属性保存该位置由对象的和属性保存,都为0.都为.比如PSet可相对最后所画点的位置向下画点:
可相对最后所画点的位置向下画点:
比如可相对最后所画点的位置向下画点Fori=0to1000PSetStep(1,0)Next因为是循环画点,所以上述代码可以得到一条水平线.因为是循环画点,所以上述代码可以得到一条水平线.
使用Line方法画线方法画线使用
Line方法可以画出一条直线,指定直线的起点,终点和颜色,方法可以画出一条直线,指定直线的起点,终点和颜色,方法可以画出一条直线语法为:
语法为:
[object.]Line[(x1,y1)]–(x2,y2)[,color]
第一对坐标为起点,第二对坐标为终点.第一对坐标为起点,第二对坐标为终点.
Line(0,0)-(ScaleWidth,ScaleHeight)Line(0,ScaleHeight)-(ScaleWidth,0)'从左上角到右下角的对角线'从左下角到右上角的对角线
其中第一对坐标(x1,y1)是可选的.如果省略,将把该对象的当是可选的.其中第一对坐标是可选的如果省略,前坐标位置(CurrentX和CurrentY属性)作为线的起点.Color如果省略,则使用对象的如果省略,属性为线的颜色.如果省略则使用对象的ForeColor属性为线的颜色.属性为线的颜色方法一样,方法也支持使用关键字Step来指定相对与PSet方法一样,Line方法也支持使用关键字方法一样方法也支持使用关键字来指定相对位置.假设当前坐标为(500,500):
位置.假设当前坐标为:
Line-(1000,0)'从(500,500)到(1500,500)的一条水平线到的一条水平线Line-Step(0,1000)'从(1500,500)到(1500,1500)的一条垂直线到的一条垂直线LineStep(0,1000)-Step(200,200)'从(1500,2500)到(1700,2700)的斜线到的斜线
使用Line方法画矩形方法画矩形使用
一个很简单的画矩形的方法.当在Line方法中的最后一个很简单的画矩形的方法.当在方法中的最后添加"选项时就会以指定的两点为矩形的对角点,选项时,添加"B"选项时,就会以指定的两点为矩形的对角点,画一个矩形.画一个矩形.如:
Line(500,500)–(1500,1000),vbRed,BLine(500,500)–Step(1000,500),,B或注意:
如果color参数省略的话,则在"B"之前要有两参数省略的话,注意:
如果参数省略的话则在"之前要有两个逗点,参数值可以省略,但参数位置要保留.个逗点,参数值可以省略,但参数位置要保留.
填充矩形
使用Line方法还可以指定对矩形进行填充,有使用Line方法还可以指定对矩形进行填充Line方法还可以指定对矩形进行填充,两种填充方式:
两种填充方式:
1)颜色填充Line(500,500)–(1500,1000),vbRed,BF以上代码绘制一个红色的方块2)图案填充FillStyle=1Line(500,500)–(1500,1000),vbRed,B需要先指定FillStyle属性,即矩形内部图案填充方需要先指定属性,属性式
填充图案的选择
FillStyle属性的取值和填充效果属性的取值和填充效果
vbFSSolid:
0,实线:
vbFSTransparent(缺省值):
1,透明(缺省值),vbHorizontalLine:
2,水平直线:
vbVerticalLine:
3,垂直直线:
vbUpwardDiagonal:
4,上斜对角线:
vbDownwardDiagonal:
5,下斜对角线:
vbCross:
6,十字线:
vbDiagonalCross:
7,交叉对角线:
以上填充的图案以线条为主,以上填充的图案以线条为主,那么如何指定线条的颜色呢?
对象的FillColor属性充当此任.该属性缺省为属性充当此任.色呢?
对象的属性充当此任黑色,所以如果不更改的话,填充的将都是黑色线条.黑色,所以如果不更改的话,填充的将都是黑色线条.
填充矩形示例
【例】编程在窗体中显示所有的填充图案,并使用不编程在窗体中显示所有的填充图案,同的填充颜色.同的填充颜色.
SubForm_Click()DimiAsIntegerFori=0To7Form1.FillStyle=iForm1.FillColor=QBColor(i)Line(i*600,500
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 图形和绘图操作 图形 绘图 操作