欢迎来到天天文库
浏览记录
ID:44270633
大小:1.20 MB
页数:33页
时间:2019-10-20
《VB编程课件第10章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第10章多媒体程序设计在实际的程序设计过程中,为了使程序的界面更加美观、友好,可以向程序添加图形、图像等,还可以直接进行多媒体程序的开发。VB2005提供了专门的多媒体程序设计功能,使得用户可以方便、快捷地开发出高效的多媒体程序。本章主要介绍VB2005的多媒体程序设计的方法。10.1图形程序设计图形是美化程序界面最简单、最基本的方法,它可以增加程序的趣味性和观赏性。GDI+是WindowsXP操作系统中提供二维矢量图形、图像处理和版式的部分。GDI+是在原来GDI(GraphicsDeviceInterface,图形设备接口)的基础上进行了改进,添加了新功能并优化了现有功
2、能。GDI+以继承类的方式来完成图形处理,是一个完全面向对象的二维图形系统。本节主要介绍VB2005在程序中绘制图形的方法。10.1.1绘图基础GDI+的矢量图形部分用于绘制直线、曲线等图形,并用于绘制和填充形状。1.坐标系在VB2005中,各种控件必须放置在窗体中,窗体本身也是一个控件。窗体又必须放置在显示器的屏幕中,所以窗体和屏幕都是容器。每个容器都有一个坐标系,以便为其上的对象提供定位参考。可以选择各种坐标系,但默认情况下,容器的坐标系设置是容器的左上角为坐标原点。如果有菜单和工具栏,原点在紧靠菜单和工具栏的下方。横向向右为x轴方向,纵向向下为y轴方向,长度单位为像素
3、(Pixel)。如图所示为窗体坐标系。10.1.1绘图基础计算机显示器的屏幕是在一个点的矩形数组上创建其显示。不同显示器屏幕上显示的像素数量是不同的。如图所示为显示器的屏幕坐标系。在VB2005中,可以使用Point对象数组来描述平面中x和y坐标的有序对。例如:Dimp1AsPoint=NewPoint(50,50)Dimp2AsPoint=NewPoint(100,300)说明:在Point对象数组中,第1个参数是x坐标值(即行坐标值),第2个参数是y坐标值(即列坐标值)。10.1.1绘图基础2.GDI+绘图GDI+在坐标系中,通过提供有关要绘制的图形的信息,绘制直线、矩
4、形、椭圆、多边形等形状,也是目前在Windows窗体应用程序中以编程方式呈现图形的唯一方法。GDI+相关的类主要分布在System.Drawing、System.Imaging和System.Drawing2D命名空间中。GDI+中最主要的是Graphics类。Graphics类封装一个GDI+绘图图面,但无法继承。Graphics类提供将对象绘制到显示设备的方法,与特定的设备相关。想要通过GDI+绘图,必须首先创建Graphics对象,然后才能使用GDI+绘制各种图形。10.1.1绘图基础创建Graphics对象的方法有3种:1)在窗体或控件的Paint事件中接收对图形对
5、象的引用,通过paintEventArgs参数中的Graphics对象来获得。在为控件创建绘制代码时,通常会使用此方法来获取对图形对象的引用。2)调用某控件或窗体的CreateGraphics方法以获取对Graphics对象的引用,该对象表示该控件或窗体的绘图图面。如果想在已存在的窗体或控件上绘图,通常会使用此方法。3)Image继承的任何对象创建Graphics对象。此方法通常会在程序员需要更改已存在的图像时使用。最常用的方法是在窗体的Paint事件中编写代码。Paint事件是在绘制窗体时发生,通过paintEventArgs参数中的Graphics对象来获得。例如:Pr
6、ivateSubForm1_Paint(ByValsenderAsObject,ByValeAs_System.Windows.Forms.PaintEventArgs)HandlesMe.PaintDimmyGraphics1AsSystem.Drawing.Graphics=e.GraphicsEndSub10.1.2在窗体上绘图绘图通常是在窗体上进行的。绘制时,需要设置对象的绘图属性以确定所绘制图形的特征。1.设置图形的样式和颜色图形的样式有多种,绘制的方法也有很多。常用的有:(1)直线绘制直线,需要创建Graphics对象和Pen对象。Graphics对象提供进行绘
7、制直线的DrawLine方法。其常用语法格式如下:Graphics.DrawLines(Pen,Point[])或Graphics.DrawLines(Pen,〈起点坐标〉,〈终点坐标〉)【例10-1】绘制3条直线,一条从点(10,10)到(10,100),宽度为5的红色虚直线;一条从点(40,30)到(200,30),宽度为8的蓝色直线;一条从点(40,50)到(250,200),宽度为3的绿色直线。10.1.2在窗体上绘图ImportsSystem.Drawing.Drawing2D'引用System.Draw
此文档下载收益归作者所有