第11章图形和图像_第1页
第11章图形和图像_第2页
第11章图形和图像_第3页
第11章图形和图像_第4页
第11章图形和图像_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、111 绘制图形绘制图形 112 显示图片显示图片 113 滚动条控件滚动条控件 Visual Basic之所以广受欢迎 ,除了方便的控件、美观的图形用户界面之外,还在于其强大的绘图功能支持,VB的绘图功能使得应用程序的画面更加多姿多彩。在VB中处理图形相当方便。既可以使用形状控件、直线控件制作规则图形 ,又可以使用内建的绘图方法绘制图形 ,还可以使用窗体、图片框、图像框有关控件来处理各种格式的图形文件。 一、图形控件一、图形控件 二、图形的坐标系统二、图形的坐标系统 三、与图形有关的属性三、与图形有关的属性 四、使用颜色四、使用颜色 五、绘图方法:五、绘图方法: 六、绘图语句与六、绘图语句与

2、PaintPaint事件事件 1 1ShapeShape控件控件 此控件可以制作矩形、正方形、椭圆形、圆形、圆角矩形、圆角正方形此控件可以制作矩形、正方形、椭圆形、圆形、圆角矩形、圆角正方形6 6种形状。具体形状可由其种形状。具体形状可由其ShapeShape属性来决定:属性来决定: ShapeShape属性:形状属性:形状 BoderColorBoderColor属性:边界色属性:边界色 BorderWidthBorderWidth属性:边界宽度属性:边界宽度 BorderStyleBorderStyle属性:边界类型属性:边界类型 FillColorFillColor属性:填充色属性:填充

3、色FillStyleFillStyle属性:填充类型属性:填充类型 2 2LineLine控件控件 用来制作直线。主要属性有:用来制作直线。主要属性有: BoderColorBoderColor属性:边界色属性:边界色 BorderWidthBorderWidth属性:边界宽度属性:边界宽度 BorderStyleBorderStyle属性:边界类型属性:边界类型 X1X1、X2X2、Y1Y1、Y2Y2属性:端点坐标属性:端点坐标3 3图形控件与动画图形控件与动画 例例11-111-1,曲柄滑块机构的演示,曲柄滑块机构的演示弹性球弹性球 1 1坐标单位坐标单位ScaleModeScaleMod

4、e属性:属性: 共共8种。种。2 2坐标方法坐标方法缺省坐标:缺省坐标:对象(窗体、图片框)左上角的坐标为(对象(窗体、图片框)左上角的坐标为(0 0,0 0),水平向右为),水平向右为X X轴,垂直向轴,垂直向下为下为Y Y轴,坐标单位由轴,坐标单位由ScaleModeScaleMode属性决定。属性决定。自定义坐标:自定义坐标: 对象对象.Scale(X1.Scale(X1,Y1)-(X2Y1)-(X2,Y2)Y2)(X1(X1,Y1)Y1)设置对象的左上角坐标,设置对象的左上角坐标,(X2(X2,Y2)Y2)设置对象的右下角坐标。此方法设置对象的右下角坐标。此方法的使用,将对象在的使用,

5、将对象在X X方向的坐标分成方向的坐标分成X2X2X1X1等分,等分,Y Y方向的坐标分成方向的坐标分成Y2Y2Y1Y1等分;等分;并使并使ScaleModeScaleMode属性为属性为0 0! 3 3坐标属性坐标属性坐标属性有坐标属性有4 4个:个:ScaleLeftScaleLeft、ScaleTopScaleTop、ScaleWidthScaleWidth和和ScaleHeightScaleHeight。用于。用于改变坐标原点及该度单位的大小。改变坐标原点及该度单位的大小。ScaleLeftScaleLeft和和ScaleTopScaleTop用于设定对象左上角用于设定对象左上角的坐标

6、值,的坐标值,ScaleWidthScaleWidth和和ScaleHeightScaleHeight用于设定对象的标尺宽度和高度。用于设定对象的标尺宽度和高度。对象对象.Scale(X1.Scale(X1,Y1)-(X2Y1)-(X2,Y2)Y2),相当于:,相当于:对象对象.ScaleLeft=X1.ScaleLeft=X1对象对象.ScaleTop=Y1.ScaleTop=Y1对象对象.ScaleWidth=X2-X1.ScaleWidth=X2-X1对象对象.ScaleHeight=Y2-Y1.ScaleHeight=Y2-Y1 1DrawMode属性:属性:决定所绘图形的真实颜色。决

7、定所绘图形的真实颜色。 2DrawWidth属性属性DrawWidthDrawWidth是以像素为单位的线的宽度;类似于是以像素为单位的线的宽度;类似于ShapeShape控件的控件的BorderWidthBorderWidth属性。属性。3DrawStyle属性属性DrawStyleDrawStyle决定线的虚实;类似于决定线的虚实;类似于ShapeShape控件的控件的BorderStyleBorderStyle属性。属性。4FillColor属性属性设置填充颜色。设置填充颜色。 5FillStyle属性属性设置填充类型。设置填充类型。1 1颜色属性:颜色属性:ForeColorForeC

8、olor、BackColorBackColor、FillColorFillColor、BorderColorBorderColor。2 2颜色设置:颜色设置:RGBRGB函数函数颜色属性颜色属性=RGB(Red=RGB(Red,GreenGreen,Blue)Blue)分量值范围为:分量值范围为:02550255,共有,共有2563=167772162563=16777216(16001600万)种颜色。万)种颜色。 QBColorQBColor函数函数颜色属性颜色属性=QBColor(Color)=QBColor(Color) Color Color的取值范围为:的取值范围为:015015,

9、对应颜色见,对应颜色见Page232Page232表表11111313。 使用颜色常数使用颜色常数 vbBlack 、vbRed 、vbGreen 、vbYellow 、vbBlue 、vbMagenta 、vbCyan 、vbWhite 。 使用颜色数值使用颜色数值如:如:Form1.ForeColor=&HFF00FFForm1.ForeColor=&HFF00FF Text1.BackColor=255Text1.BackColor=2553 3范例程序范例程序1 1:颜色渐变颜色渐变 说明:只能用于说明:只能用于FormForm和和PictureBoxPictureBox!1 1Pse

10、tPset方法:方法:用于画点。用于画点。对象对象.Pset Step (x.Pset Step (x,y)y),ColorColor范例程序范例程序2 2:圆的渐开线圆的渐开线2 2LineLine方法:方法:用于画直线或矩形。用于画直线或矩形。对象对象.Line Step(X1,Y1)-Step(X2,Y2),Color .Line Step(X1,Y1)-Step(X2,Y2),Color ,BFBF说明:说明:ColorColor为线或边框的颜色;若只有为线或边框的颜色;若只有B B,则用,则用FillColorFillColor来填充,填来填充,填充方式取决于充方式取决于FillSt

11、yleFillStyle;若;若BFBF都有,则用都有,则用ColorColor实型填充,填充方式与实型填充,填充方式与FillStyleFillStyle无关。无关。范例程序范例程序3 3:弹簧振子弹簧振子范例程序范例程序4:彩色光盘彩色光盘 3 3CircleCircle方法:用于画圆、椭圆和圆弧方法:用于画圆、椭圆和圆弧对象对象.Circle Step(x.Circle Step(x,y)y),RadiusRadius,ColorColor,StartStart,EndEnd,AspectAspect画圆画圆对象对象.Circle Step(x.Circle Step(x,y)y),Ra

12、diusRadius,Color Color 画椭圆画椭圆对象对象.Circle Step(x.Circle Step(x,y)y),RadiusRadius,ColorColor,AspectAspectAspectAspect:纵横半径比,:纵横半径比,Aspect1Aspect1时,长轴位于垂直方向;时,长轴位于垂直方向;Aspect1Aspect1时,长轴时,长轴位于水平方向。位于水平方向。画圆弧画圆弧对象对象.Circle Step(x.Circle Step(x,y)y),RadiusRadius,ColorColor,StartStart,EndEndStartStart和和En

13、dEnd的单位为弧度,范围为的单位为弧度,范围为-22-22;取负数时有中心连线;取负数时有中心连线;0 0为为3 3点方点方向,逆时针方向旋转。两者可以省去一个,默认的向,逆时针方向旋转。两者可以省去一个,默认的StartStart为为0 0,EndEnd为为22。画椭圆弧画椭圆弧对象对象.Circle Step(x.Circle Step(x,y)y),RadiusRadius,ColorColor,StartStart,EndEnd,AspectAspect范例程序范例程序5 5:下雪:下雪4 4ClsCls方法:清除所画图形方法:清除所画图形 对象对象.Cls .Cls 在一个对象被移

14、动或放大之后,或在一个覆盖该对象的窗体被移开之后,在一个对象被移动或放大之后,或在一个覆盖该对象的窗体被移开之后,该对象部分或全部暴露时,此事件发生。使用该对象部分或全部暴露时,此事件发生。使用 Paint Paint 过程,可以确保输出过程,可以确保输出的内容在必要时能被重绘。的内容在必要时能被重绘。 绘制静态图形时,最好是在绘制静态图形时,最好是在PaintPaint事件中绘制,这样可以保证在窗口进行事件中绘制,这样可以保证在窗口进行切换时不至于丢失所画内容。当然也可通过设置切换时不至于丢失所画内容。当然也可通过设置AutoRedraw=TrueAutoRedraw=True的方法实的方法

15、实现自动重画。现自动重画。 例例11-7,画菱形,画菱形 一、图形控件一、图形控件 二、图形的坐标系统二、图形的坐标系统 三、与图形有关的属性三、与图形有关的属性 四、使用颜色四、使用颜色 五、绘图方法:五、绘图方法: 六、绘图语句与六、绘图语句与PaintPaint事件事件 在在VBVB中可以借助窗体中可以借助窗体FormForm、图像框控件、图像框控件ImageBoxImageBox、图片框、图片框控件控件PictureBoxPictureBox显示各种类型的图片文件,其格式可以是:显示各种类型的图片文件,其格式可以是:.bmp.bmp、.jpg.jpg、.jpeg.jpeg、.gif.g

16、if、.cur.cur、.ico.ico、.wmf.wmf、.dib.dib等。等。 一、直接加载图片到窗体一、直接加载图片到窗体 二、使用图像控件二、使用图像控件 三、使用图片框控件三、使用图片框控件 四、四、PaintPicturePaintPicture方法(补充)方法(补充) 窗体即可以用各种绘图方法(窗体即可以用各种绘图方法(PsetPset、LineLine、CircleCircle)绘制图形;也可)绘制图形;也可以用于显示图片。显示图片时,即可以在窗体设计阶段在属性窗口设置以用于显示图片。显示图片时,即可以在窗体设计阶段在属性窗口设置其其PicturePicture属性,也可以在

17、代码编写阶段用属性,也可以在代码编写阶段用LoadPictureLoadPicture函数加载图片,函数加载图片,其格式为:其格式为:LoadPicture(LoadPicture(文件名文件名)若省去文件名,则清除图片。若省去文件名,则清除图片。如:如:Form1.Picture = LoadPicture(c:Form1.Picture = LoadPicture(c:素材素材 图片素材图片素材flower.jpg)flower.jpg)在显示图片时窗体不如图片框和图像框方便。在显示图片时窗体不如图片框和图像框方便。 图像控件图像控件ImageBoxImageBox不能用绘图方法绘制图形,

18、只能用来显示图不能用绘图方法绘制图形,只能用来显示图片。但在显示图片时所占用的系统资源比图片框要小,因此在只片。但在显示图片时所占用的系统资源比图片框要小,因此在只显示图片而不绘制图形的情况下,用图像框要显得方便快捷。此显示图片而不绘制图形的情况下,用图像框要显得方便快捷。此外图像框的外图像框的StretchStretch属性设成属性设成TrueTrue后,图片的大小会自动伸缩到后,图片的大小会自动伸缩到图像框的大小。图像框的大小。例例11-811-8,红绿灯程序,红绿灯程序 图片框具有类似于窗体显示图片、绘制图形的功能,但其图形图片框具有类似于窗体显示图片、绘制图形的功能,但其图形处理方面的

19、属性和方法比窗体要丰富的多。如,处理方面的属性和方法比窗体要丰富的多。如,AutoSizeAutoSize属性设属性设置成真后,当图片框控件比实际图片小时,图片框会自动适应图置成真后,当图片框控件比实际图片小时,图片框会自动适应图片的尺寸;可以用片的尺寸;可以用PaintPicturePaintPicture方法对图片进行翻转、拉伸等处方法对图片进行翻转、拉伸等处理。理。1 1图片的显示图片的显示例例11-911-9,制作简易图片浏览器,制作简易图片浏览器2 2输出图形和文本输出图形和文本制作移动的函数曲线制作移动的函数曲线 这是一种对图形进行块操作的非常灵活方便的图形处理方法,借助这种方法这

20、是一种对图形进行块操作的非常灵活方便的图形处理方法,借助这种方法可以对图形进行拉伸、压缩、翻转等处理。可以对图形进行拉伸、压缩、翻转等处理。1 1格式:格式:对象对象.PaintPicture ,x1,y1,w1,h1,x2,y2,w2,h2 .PaintPicture ,x1,y1,w1,h1,x2,y2,w2,h2 2 2说明:说明:绘图的对象可以是窗体,也可以是图片框。绘图的对象可以是窗体,也可以是图片框。 PicturePicture是图象源,可以是来自窗体、图片框或图像框中的图象。是图象源,可以是来自窗体、图片框或图像框中的图象。x1x1,y1y1是目标坐标,在是目标坐标,在Obje

21、ctObject上从哪儿开始呈现由这一对坐标决定。上从哪儿开始呈现由这一对坐标决定。w1w1和和h1h1为可以选,也可只选一个;它决定着目标图象的宽度和高度,若为可以选,也可只选一个;它决定着目标图象的宽度和高度,若省略则跟源图象中的对应项相同。省略则跟源图象中的对应项相同。 x2x2,y2y2是从图象源中截取图象的起始位置坐标;若省略,则为是从图象源中截取图象的起始位置坐标;若省略,则为0 0。w2w2,h2h2是从图象源中截取图象的宽度值和高度值;若省略,则使用整个是从图象源中截取图象的宽度值和高度值;若省略,则使用整个源宽度或高度。源宽度或高度。3 3应用:应用: 从图象源中截取图象后,

22、进行各种处理。从图象源中截取图象后,进行各种处理。一、图形控件一、图形控件 二、图形的坐标系统二、图形的坐标系统 三、与图形有关的属性三、与图形有关的属性 四、使用颜色四、使用颜色 五、绘图方法:五、绘图方法: 六、绘图语句与六、绘图语句与PaintPaint事件事件 一、直接加载图片到窗体一、直接加载图片到窗体 二、使用图像控件二、使用图像控件 三、使用图片框控件三、使用图片框控件 四、四、PaintPicturePaintPicture方法(补充)方法(补充) 案例程序案例程序6 6:玫瑰线:玫瑰线范例程序范例程序7 7:圆周运动的投影:圆周运动的投影范例程序范例程序8 8:静态图片的特技

23、呈现:静态图片的特技呈现 发表在发表在电脑爱好者电脑爱好者 2000 20002020 第第11章图形和图像章图形和图像 三叶玫瑰线:三叶玫瑰线:=Asin3XYOxyx=cos=Asin3cosy=sin=Asin3sin =Acos3四叶玫瑰线四叶玫瑰线=Asin2四叶玫瑰线四叶玫瑰线=Acos2?叶玫瑰线?叶玫瑰线=A sin 2 效 果效 果 1 : 推 出: 推 出 效 果效 果 2 : 拉 近: 拉 近 效 果效 果 3 : 推 拉: 推 拉 效 果效 果 4 : 百 叶 窗: 百 叶 窗 效 果效 果 5 : 马 赛 克: 马 赛 克 效 果效 果 6 : 拉 幕: 拉 幕 效 果效 果 7 : 滚 动: 滚 动电子的运动电子的运动行星的运动行星的运动简谐振动的合成简谐振动的合成利萨如图利萨如图彩色光盘彩色光盘下课后来拷贝,或从数理信息学院网站上下载!下课后来拷贝,或从数理信息学院网站上下载!一、滚动条的属性一、滚动条的属性 二、滚动条的事件二、滚动条的事件 三、滚动条的应用三、滚动条的应用 1 1 MinMin和和MaxMax属性属性2 2 ValueValue属性属性3 3 LargeChangeLargeChange属性属性4 4SmallChangeSmallChange属性属性 1 1 ChangeChange事件事件当当ValueVa

温馨提示

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

评论

0/150

提交评论