欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    图形与多媒体程序设计.pptx

    • 资源ID:77573662       资源大小:563.28KB        全文页数:103页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    图形与多媒体程序设计.pptx

    本章任务本章任务可擦写图形轮廓可擦写图形轮廓视频文件播放器视频文件播放器音频播放器音频播放器第1页/共103页本章要点本章要点 GDI+与绘图命名空间 多媒体的含义多媒体的含义 视频文件播放器视频文件播放器 本本章章要要点点 可擦写图形轮廓 第2页/共103页10.1 GDI+与绘图命名空间 在程序中有时需要绘制函数典型或绘制各种几何图形,这就要用到图形程序设计,在VB.NET中使用GDI+可以方便地进行图形程序设计。第3页/共103页10.1.1 GDI+的概念 GDI+是是GDI(GraphicsDeviceInterface,图形设备接口)的,图形设备接口)的改进产品,它与改进产品,它与.NETFramework同时推出。同时推出。GDI+解决了原来解决了原来GDI中的中的很多问题,使用户可以更容易地使用这些接口来绘制图形。很多问题,使用户可以更容易地使用这些接口来绘制图形。第4页/共103页10.1.2 GDI+的绘图命名空间 用户绘图时需要使用用户绘图时需要使用GDI+函数,这些函数,这些GDI+函数都保存在函数都保存在System.Drawing.dll动态链接库中。该动态链接库中包含了动态链接库中。该动态链接库中包含了System.Drawing、System.Drawing.Text、System.Drawing.Printing、System.Drawing.Imaging、System.Drawing.Drawing2D和和System.Drawing.Design等命名等命名空间。在空间。在VB.NET的图形编程中,最常用的命名空间是的图形编程中,最常用的命名空间是System.Drawing。第5页/共103页10.1.3 利用GDI+绘制图形的方法步骤 在System.Drawing命名空间中,最核心的类是Graphics类。该类提供很多方法,利用它用户可以绘制出直线、曲线、椭圆等各种几何图形。在VB.NET中,图形一般是在窗体或图形框控件(PictureBox)上进行绘制。在绘图之前,应在指定的窗体或图形框控件上创建一个Graphics类的实例,创建了Graphics的实例后,才可以调用Graphics类的绘图方法。使用Graphics类需特别注意一点:Graphics类的构造器(Sub New)是私有的,不能直接实例化,即不能使用类似下面的语句来创建Graphics类的一个实例:Dim 对象名称 As New System.Drawing.Graphics()要创建Graphics类的实例,一般需经过两步,一是定义一个Graphics类的对象,二是调用窗体或图片框控件的CreateGraphics方法,以下语句将在PictureBox1上创建一个名为pic的Graphics类的实例:第6页/共103页10.1.4 与绘图相关的对象1 Graphics对象Graphics对象就相当于一张画布,可以调用它的绘图方法在其上绘图。在绘制图形之前一定要先创建Graphics对象。创建Graphics对象的方法般有三种,分别如下。(1)利用窗体或控件的Paint事件的参数PaintEventArgs创建Graphics对象当响应窗体或控件的Paint事件时,传回的事件参数PaintEventArgs中包含着窗体或控件的Graphics对象,在其上可以进行绘图工作。利用该方式创建Graphics对象的例子如下:Private Sub Form1_Paint(ByVal sender As Object,ByVal e As System.Windows.Forms.PaintEventArgs)Handles MyBase.Paint Dim G As System.Drawing.Graphics=e.Graphics End Sub第7页/共103页10.1.4 与绘图相关的对象(2)使用窗体或控件的CreateGraphics方法窗体和控件类都有一个CreateGraphics方法,通过该方法可以在程序中生成此窗体或控件所对应的Graphics对象。这种方法一般应用于对象已经存在的情况下。如下所示:Dim G As System.Drawing.Graphics G=Me.CreateGraphics()注意:Graphics是命名空间System.Drawing中的一个类,使用时应加上命名空间的名称。为了能够直接使用类名,可用Imports System.Drawing语句引入System.Drawing命名空间,引入后就可以直接使用类名Graphics,而不需再加命名空间前缀。(3)使用Image的派生类创建Graphics对象。使用Image的任何派生类均可以生成相应的Graphics对象,这种方法一般适用于在VB.NET中对图像进行处理的场合。如下:Dim B As New Bitmap(c:MYPIC.BMP)根据图像文件生成Bitmap对象 Dim G As Graphics 定义Graphics对象 G=Graphics.FromImage(B)生成Graphics类的对象Graphics类有许多绘图方法,关于Graphics类的绘图方法,请读者参阅附录2。第8页/共103页10.1.4 与绘图相关的对象2Pen对象Pen对象(又称画笔对象)主要用来绘制线条、多边形、曲线等几何图形,具有宽度、样式和颜色三种属性。Pen对象的宽度用来确定所画的线条宽度,默认的Pen对象宽度是一个像素单位;Pen对象的颜色确定了所画的线条颜色;Pen对象的样式确定了所绘图形的线型,它通常有实线、虚线、点线、点划线、双点划线等。除此以外,在VB.NET中,还可以通过属性设置来设定Pen对象绘制的线条的起点和终点的样式。第9页/共103页10.1.4 与绘图相关的对象(1)Pen对象的创建Pen类的构造器有四种,使用方法如下。创建某一颜色的Pen对象:Public Sub New(Color)创建某一刷子样式的Pen对象:Public Sub New(Brush)创建某刷子样式并具有相应宽度的Pen对象:Public Sub New(Brush,Single)创建某一颜色和相应宽度的Pen对象:Public Sub New(Color,Single)第10页/共103页10.1.4 与绘图相关的对象Pen类的构造器中有一个Color结构的参数,Color结构在GDI+中是用ARGB来表示的,其中A代表Alpha值、R代表红色分量值、G代表绿色分量、B代表蓝色分量值。Color结构的A、R、G、B属性分别代表颜色的四种分量的值,Color结构还具有很多表示系统定义颜色的属性,如:Color.White代表白色、Color.Green代表绿色等。例如,下列的两条语句将分别创建名为Pen1和Pen2的两个Pen对象:Dim Pen1 As New Pen(Color.Yellow):Dim Pen2 As New Pen(Color.Blank,5)第11页/共103页10.1.4 与绘图相关的对象(2)Pen对象的常用属性Alignment属性:用来获取或设置此Pen对象的对齐方式。Color属性:用来获取或设置此Pen对象的颜色。Width属性:用来获取或设置此Pen对象的宽度。DashStyle属性:用来获取或设置通过此Pen对象绘制的虚线的样式。该属性是一个DashStyle枚举型的值,枚举成员名称及其说明如表10-1所示 第12页/共103页10.1.4 与绘图相关的对象DashStyle 枚举型的成员及其说明成员名称 说明 Custom用户自定义划线段样式Dash由划线段组成的直线DashDot由重复的划线点图案构成的直线DashDotDot由重复的划线点点图案构成的直线Dot由点构成的直线Solid实线第13页/共103页10.1.4 与绘图相关的对象DashCap属性:用来指定虚线两端风格,是一个DashCap枚举型的值,取值有:Flat(每一划线段的两端均为方形的方帽)、Round(每一划线段的两端均为圆角的圆帽)、Triangle(每一划线段的两端均为带尖的三角帽)。StartCap属性:用来获取或设置通过此Pen对象绘制的直线起点的帽样式。EndCap属性:用来获取或设置通过此Pen对象绘制的直线终点的帽样式。PenType属性:用来获取用此Pen对象绘制的直线的样式。是一个DashStyle枚举型的值。第14页/共103页10.1.4 与绘图相关的对象3Font对象可以使用Font对象(字体对象)来建立自定义字体,该对象在建立之后就不能被修改,因此若程序中需要不同的字体,只有建立多个不同的Font对象。Font对象的构造器有很多重载版本,感兴趣的读者可参考相应的资料,此处不再赘述。Font对象的常用属性如表10-2所示 第15页/共103页10.1.4 与绘图相关的对象属性说明Bold测试字体是否为粗体。如果是粗体则返回TrueFontFamily字体的FontFamily,群组结构,用于管理字体集合和定义这些字体的相似属性Height字体的高度Italic测试字体是否为斜体。如果是则返回TrueName字体名称字符串Size返回一个Single类型值,表示用设计单位度量的字体大小(设计单位是字体的某种度量单位)SizeInPoints 返回一个Single类型值,表示当前字体按“点”计量的大小Strikeout测试字体是否有删除线。如果有,返回TrueUnderline测试字体是否有下划线。如果有,返回TrueStyleFontStyle枚举类型的值。取值有:Bold(下划线)、Italic(倾斜)、Regular(普通)、Strikeout(删除线)、Underline(下划线),并且可以用Or和Xor运算符来添加或去除样式 Font对象的常用属性第16页/共103页10.1.4 与绘图相关的对象例如,有下列程序(已经引入命名空间System.Drawing):Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button1.Click Dim MyFont As Font=New Font(宋体,20,FontStyle.Bold Or FontStyle.Italic)创建字体 Dim g As Graphics :g=Me.CreateGraphics()创建Graphics对象 g.DrawString(字体演示与图形绘制。,MyFont,New SolidBrush(Color.SlateBlue),10,10)MyFont.Dispose():g.Dispose()释放绘图对象 End Sub程序的执行结果如图10-1所示 第17页/共103页10.1.4 与绘图相关的对象4Brush对象Brush类(又称画刷)也不能被实例化,一般使用它的派生类。派生类主要有:SolidBrush(单色画刷)、HatchBrush(阴影画刷)、LinearGradientBrush(颜色渐变画刷)、PathGradientBrush(使用路径及复杂的混合色渐变画刷)和TextureBrush(纹理画刷)。大部分的Brush类型都定义在System.Drawing命名空间中。HatchBrush、LinearGradientBrush和PathGradientBrush等画刷定义在System.Drawing.Drawing2D命名空间中 第18页/共103页10.1.4 与绘图相关的对象(1)SolidBrush画刷SolidBrush类用来定义单一颜色的Brush,其构造器如下。Public Sub New(ByVal color As Color)例如:Dim MyBrush As New SolidBrush(Color.Blue)该语句创建了一个名为MyBrush的蓝色画刷。(2)HatchBrush画刷SolidBrush类用来定义阴影画刷,可以定义前景色和背景色及阴影风格。前景色定义线条的颜色,背景色定义各线条之间间隙的颜色 第19页/共103页10.1.4 与绘图相关的对象HatchBrush类的构造器有两种,分别如下:格式1:Public Sub New(ByVal hatchstyle As HatchStyle,ByVal foreColor As Color)功能:以HatchStyle指定的图案或阴影方式和foreColor指定的前景色创建画刷,默认的背景色为黑色。格式2:Public Sub New(ByVal hatchstyle As HatchStyle,ByVal foreColor As Color,ByVal backColor As Color)功能:创建画刷。参数HatchStyle指定的图案或阴影方式,foreColor参数指定前景色,backColor 参数指定背景色 第20页/共103页10.1.4 与绘图相关的对象HatchBrush画刷具有三个属性,分别如下:BackgroundColor属性:获取此 HatchBrush 对象的背景色。ForegroundColor属性:获取此 HatchBrush 对象的前景色。HatchStyle属性:获取此 HatchBrush 对象的阴影样式。HatchBrush对象的阴影样式有很多,表10-3仅列出一些常用的阴影样式 第21页/共103页10.1.4 与绘图相关的对象HatchStyle属性取值说明HatchStyle属性取值说明BackwardDiagOnal背景对角DashedUpwardDiagonal虚线对角向上Cross十字DashedVertical虚线垂直DarkDownwardDiagonal对角向下DiagonalBrick对角砖状DarkHorizontal水平DiagonalCross对角十字DarkUpwardDiagonal对角向上Divot草皮DarkVertical垂直DottedDiamond点状DashedDownwardDiagonal虚线对角向下DottedGrid点格状DashedHorizontal虚线水平ForwardDiagonal向前对角Vertical垂直线Horizontal水平线HatchBrush对象的阴影样式 第22页/共103页10.1.4 与绘图相关的对象(3)LinearGradientBrush画刷LinearGradientBrush是渐变画刷的一种,用来产生线型渐变效果。常用的渐变效果是由两个颜色逐渐变化而来的。LinearGradientBrush类的构造器有多种格式,最常用的格式如下。格式:Public Sub New(ByVal point1 As Point,ByVal point2 As Point,ByVal color1 As Color,ByVal color2 As Color)功能:创建线性渐变画刷。该构造器有四个参数,其中Point1是表示渐变的起始点,Point2是表示渐变的终结点,Color1表示的渐变的起始色,Color2表示的是渐变的终止色。此处的Point1和Point2是Point结构型的变量,Point结构表示一个点,有两个成员x和y,分别表示点的横坐标和纵坐标 第23页/共103页10.1.4 与绘图相关的对象例如,有如下程序(已引入命名空间System.Drawing):Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button1.Click Dim MyPic As Graphics=Me.CreateGraphics()生成图形对象 Dim MyBrush As New LinearGradientBrush(New Point(0,0),_ New Point(10,10),Color.Blue,Color.Red)生成渐变画刷 MyPic.FillRectangle(MyBrush,5,5,150,80)填充矩形 MyBrush.Dispose():MyPic.Dispose()释放对象 End Sub程序的执行结果如图10-2所示 第24页/共103页10.2 任务1:可擦写图形轮廓图形编程与鼠标事件任务10-1描述:创建一个让用户画椭圆的程序,当用户按下并拖动鼠标时,将出现一个椭圆轮廓,该椭圆轮廓表示所画椭圆的大小,如图10-3所示。当用户松开鼠标键时,将在窗体上绘制出用蓝色填充的椭圆,如图10-4所示。图10-3 绘制的椭圆轮廓图10-4 最后绘制的椭圆第25页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件任务分析:为显示绘图轮廓,可使用两个Point结构的变量StartPt和EndPt,分别用来存放鼠标按下时的坐标和当前坐标。可通过下述方法来实现“可擦写”的轮廓并画图:当用户按下鼠标按钮时,在StartPt变量中记录鼠标的x,y坐标,同时用鼠标的x,y坐标初始化EndPt变量,然后设置画笔的颜色,以画出所需图形的轮廓。每当鼠标移动时,可两次画图:一次是把画笔的颜色设置为背景色,然后在老地方绘图以便擦去已画过的“可擦写”图形轮廓,一次是把画笔再设置成需要的颜色,再在新位置上画出当前所需的图形轮廓,然后在变量EndPt中记录鼠标新位置的x,y坐标。最后当用户释放鼠标按钮时,擦除上次的“可擦写”图形轮廓,并以最终的色彩画出图形。第26页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件任务实现:1启动VB.NET,新建一个项目,项目类型为“Windows应用程序”,项目的存放位置为“D:VBTASKCH10”,项目名为“Task10_1”。2把Form1窗体的Text属性值设置为“可擦写图形轮廓”,把它的Name属性值设置为“frmDraw”。单击“解决方案资源管理器”中的“Form1.VB”窗体,然后在属性窗口中把它文件名属性设置为“frmDraw.vb”。然后执行【项目】【Task10_1属性】命令,在出现的“Task10_1属性页”对话框中把“启动对象”设置为“frmDraw”。3引入命名空间System.Drawing.Drawing2D,语句如下。Imports System.Drawing.Drawing2D第27页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件4定义模块级变量,语句如下。Dim StartPt,EndPt As Point 存放起始点的坐标 Dim g As Graphics 存放Graphics对象 Dim MyPen As Pen 存放画笔对象 Dim MyBrush As SolidBrush 存放画刷对象 Dim DrawShould As Boolean=False 是否画轮廓5编写窗体的Load事件过程代码,如下。Private Sub frmDraw_Load(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles MyBase.Load g=Me.CreateGraphics()建立Graphics对象 MyPen=New Pen(Color.Black,1)建立画笔对象 MyBrush=New SolidBrush(Color.Blue)建立画刷对象 End Sub第28页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件6编写窗体的MouseDown事件过程代码,如下。Private Sub frmDraw_MouseDown(ByVal sender As Object,ByVal e As System.Windows.Forms.MouseEventArgs)Handles MyBase.MouseDown Me.Capture=True 捕获鼠标 DrawShould=True 启动绘图 StartPt.X=e.X :StartPt.Y=e.Y EndPt=StartPt 终止点 End Sub说明:MouseDown事件在鼠标按下时发生。在该事件中开始对鼠标进行捕获并启动画图,设置绘制椭圆的开始点坐标和结束点坐标 第29页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件7编写窗体的MouseMove事件过程代码,如下。Private Sub frmDraw_MouseMove(ByVal sender As Object,ByVal e As System.Windows.Forms.MouseEventArgs)Handles MyBase.MouseMove If(DrawShould=True)Then 如果启动了绘图 MyPen.Color=Me.BackColor 设置画笔的颜色为背景色 清除前面绘制的图形 g.DrawEllipse(MyPen,StartPt.X,StartPt.Y,_ EndPt.X-StartPt.X,EndPt.Y-StartPt.Y)MyPen.Color=Color.Black 设置画笔的颜色为黑色 MyPen.DashStyle=DashStyle.Dash 设置虚线样式第30页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件 绘制轮廓 g.DrawEllipse(MyPen,StartPt.X,StartPt.Y,e.X-StartPt.X,e.Y-StartPt.Y)EndPt.X=e.X 把当前点设置为终点 EndPt.Y=e.Y End If End Sub说明:MouseMove事件在鼠标移动时发生。当在窗体上移动鼠标时,先以背景色重画一个上一次绘制的椭圆,就好象清除了前面的椭圆,然后再在新位置绘制一个椭圆,就形成了可擦写的轮廓 第31页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件8编写窗体的MouseUp事件过程代码,如下。Private Sub frmDraw_MouseUp(ByVal sender As Object,ByVal e As System.Windows.Forms.MouseEventArgs)Handles MyBase.MouseUp DrawShould=False 停止画图 MyPen.Color=Me.BackColor 设置图笔颜色为背景色 清除先前的轮廓 g.DrawEllipse(MyPen,StartPt.X,StartPt.Y,EndPt.X-StartPt.X,EndPt.Y-StartPt.Y)第32页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件绘制以蓝色填充的椭圆 g.FillEllipse(MyBrush,StartPt.X,StartPt.Y,e.X-StartPt.X,e.Y-StartPt.Y)Me.Capture=False 结束鼠标捕获 End Sub说明:MouseUp事件是在放开鼠标键时发生。当在窗体上放开鼠标键时,先以背景色重画一个上一次绘制的椭圆,以清除前面的椭圆,再绘制当前的椭圆即可 第33页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件9运行程序,在窗体上单击鼠标左键并拖动,会出现可擦写的轮廓,放开鼠标键,显示出绘制的图形。保存项目,本任务至此全部完成。归纳说明:本任务通过可擦写图形轮廓的实现过程,讲解了常用的绘图对象(如Graphics对象、Pen对象、Brush对象)的创建与使用方法,还演示了调用Graphics对象的DrawEllipse方法绘制椭圆的方法。另外本任务的实现过程中,还用到了与鼠标操作有关的事件,如MouseDown事件、MouseMove事件和MouseUp事件 第34页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件拓展与提高:对鼠标操作的处理是应用程序的重要功能之一,在VB.NET中有一些与鼠标操作相关的事件,利用它们可以方便地进行与鼠标有关的编程。(1)MouseEnter事件该事件在鼠标指针进入控件时发生。(2)MouseMove事件该事件在鼠标指针移到控件上时发生。事件处理程序接收一个 MouseEventArgs 类型的参数,该参数包含与此事件相关的数据。该参数的主要属性及其含义如下 第35页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件Button属性:用来获取曾按下的是哪个鼠标按钮。该属性是MouseButtons枚举型的值,取值及含义如下:Left(按下鼠标左按钮)、Middle(按下鼠标中按钮)、Right(按下鼠标右按钮)、None(没有按下鼠标按钮)、XButton1(按下了第一个XButton按钮,仅用于Microsoft 智能鼠标浏览器)和XButton2(按下了第二个XButton按钮,仅用于Microsoft 智能鼠标浏览器)Clicks属性:用来获取按下并释放鼠标按钮的次数。Delta属性:用来获取鼠标轮已转动的制动器数的有符号计数。制动器是鼠标轮的一个凹口。X属性:用来获取鼠标所在位置的 x 坐标。Y属性:用来获取鼠标所在位置的 y 坐标 第36页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件(3)MouseHover事件当鼠标指针悬停在控件上时将发生该事件。(4)MouseDown事件当鼠标指针位于控件上并按下鼠标键时将发生该事件。事件处理程序也接收一个 MouseEventArgs 类型的参数。(5)MouseWheel事件在移动鼠标轮并且控件有焦点时将发生该事件。该事件的事件处理程序接收一个MouseEventArgs 类型的参数(6)MouseUp 事件当鼠标指针在控件上并释放鼠标键时将发生该事件。事件处理程序也接收一个 MouseEventArgs 类型的参数 第37页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件(7)MouseLeave事件在鼠标指针离开控件时将发生该事件。例如,在本任务执行时,无论是按下鼠标左键还是按下鼠标右键,都会出现可擦写的轮廓,放开鼠标键后都会绘制出椭圆来。能不能只在鼠标左键按下去才出现可擦写的轮廓呢?其实实现比较简单,只需在相应的鼠标事件中测试按下的是哪个键,如果是左键就绘制可擦写轮廓即可。修改的代码如下 第38页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件思考与实训:1使用GDI+绘制出一个椭圆需要经过哪几步?2本任务中可擦写轮廓是怎样实现的?能否实现可擦写的矩形轮廓?如果能请编程实现。3常用的鼠标事件有哪些?如何在MouseDown事件中判断按下的是鼠标左键还是右键?4编一个应用程序用来绘制多个周期的衰减余弦典线,衰减正弦曲线的公式如下:程序的运行界面如图10-5所示 第39页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件提示:函数值是一个连续的曲线,画连续曲线可采用以下的方法:将连续的曲线图形看作是由许多条线段连接而成,求出曲线上一系列的点的坐标(x,y),然后用画线方法DrawLine将这些点首尾连接起来。解决这类画图题,首先应确定坐标原点位置,如本题坐标原点定位在(10,窗体高度/2);然后根据所画的最大值确定画图的坐标单位,本题函数值的大小为-1+1,可用“窗体高度/3”个像素表示1;x轴可用“窗体宽度/50”来做一个坐标单位,表示/10。画图的时候,可通过循环每隔/10弧度求一个函数的值,并转换成相应的坐标值,然后用DrawLine方法把计算出来的点依次相连起来。DrawLine方法的调用格式请读者参阅附录2。5编写在窗体上画出奥运五环标记 第40页/共103页10.2 任务:可擦写图形轮廓图形编程与鼠标事件 Private Sub frmDraw_MouseDown(ByVal sender As Object,ByVal e As System.Windows.Forms.MouseEventArgs)Handles MyBase.MouseDown If e.Button=MouseButtons.Left Then 省去的代码与任务中的同名事件过程代码完成一致 End If End Sub Private Sub frmDraw_MouseUp(ByVal sender As Object,ByVal e As System.Windows.Forms.MouseEventArgs)Handles MyBase.MouseUp If e.Button=MouseButtons.Left Then 省去的代码与任务中的同名事件过程代码完成一致 End If End Sub第41页/共103页10.3 多媒体的基本概念多媒体的含义多媒体的含义多媒体技术特点多媒体技术特点常用的多媒体文件常用的多媒体文件第42页/共103页10.3.1 多媒体的含义媒体是指信息的载体,有存储媒体和表现媒体之分。通常所讲的多媒体中的媒体主要是指表现信息的媒体,表现信息的媒体主要有文字、图形、图像、影片、动画、声音和音乐等。所谓多媒体是指为了实现某种功能而有机结合在一起的多种表现媒体,并通过计算机展示。“多媒体技术”在某种程度上已经成为声、文、图、动画、影像等媒体信息在计算机系统中综合应用的代名词 第43页/共103页10.3.1 多媒体的含义多媒体技术是利用计算机技术将各种媒体(文字、图形、动画、图像、视频等)以数字化的方式集成在一起,从而使计算机具有了表现、处理、存储多种信息的综合能力。多媒体技术的出现,使计算机具有了与人进行声、图、文等方面的交流,从很多方面影响了人们的学习、娱乐和生活 第44页/共103页10.3.2 多媒体技术特点多媒体技术具有下面的两个重要特点:(1)多种媒体的综合单一的文本、声音或图形图像不能称为多媒体,只有把多种媒体有机地综合在一起才能称为多媒体。(2)交互性多媒体的一个重要特点就是交互性,这也是它与广播电视及其它电教设备的本质不同之处。多媒体程序在运行过程中,能根据用户的反应做出不同的响应。如考试多媒体软件,用户做了某道题后,如果正确计算机给出一种应答,如果错误计算机也立即给出另一种应答 第45页/共103页10.3.3 常用的多媒体文件计算机处理的媒体信息都是以文件的形式出现的。各类主要媒体文件及扩展名如下:图像文件:位图文件(.BMP)、JPEG文件(.JPG)、GIF文件(.GIF)、PNG文件(.PGN);声音文件:声波文件(.WAV)、MIDI音乐文件(.MID)、MP3文件(.MP3);视频文件:AVI文件(.AVI)、MPEG文件(.MPG);动画文件:Flash动画文件(.SWF)。在VB.NET中,可以使用Media Player控件、MMControl控件和ShockWaveFlash控件对多媒体文件进行控制 第46页/共103页10.4 任务2 视频文件播放器axMMControl控件、ProgressBar控件与视频文件控制任务10-2描述:编写一个视频文件播放器程序。程序的设计界面如图10-6所示,程序的运行界面如图10-7所示。程序执行时按“选择文件”按钮,将出现一个打开对话框,让用户选择一个要播放的文件,单击“播放”、“暂停”、“后退”、“前进”按钮将实现相应的视频控件功能,播放视频的窗口为一个图片框。第47页/共103页10.4 任务2 视频文件播放器axMMControl控件、ProgressBar控件与视频文件控制程序执行过程中在窗口顶部的进度条中显示出视频文件的播放进度,在右上角的文本框中显示当前播放到的帧位置,如图10-7所示 图10-6 程序设计界面 图10-7 程序运行界面 第48页/共103页10.4 任务2 视频文件播放器axMMControl控件、ProgressBar控件与视频文件控制任务分析:在VB.NET中,可使用axMMControl控件播放视频文件。为使axMMControl控件能够播放视频文件,可在视频文件打开时,根据视频文件的扩展名设置它的DeviceType属性。由于AVI文件要在一个图片框中播放,可以通过给axMMControl控件的HWndDisplay属性值来实现该功能。可给程序添加一个openFileDialog对话框,在运行时用来选择要播放的文件,文件选择过后应打开它,以便播放。本题不使用axMMControl控件上的按钮来控制视频文件,而是通过给axMMControl控件的Command属性赋值来在执行相应的控制命令。要设置每次前进或后退的帧数,应设置axMMControl控件的Frames属性 第49页/共103页10.4 任务2 视频文件播放器axMMControl控件、ProgressBar控件与视频文件控制可使用ProgressBar控件来显示视频文件的播放进度,在打开文件的时候设置ProgressBar控件的Minimum属性值为0,并用axMMControl控件的Length属性值作为ProgressBar控件的Maximum属性,从而使视频文件的位置与进度条的值对应起来。为了使ProgressBar控件能够反映出多媒体文件的播放进度,只需不断地用axMMControl控件的Position属性值更新ProgressBar控件的Value属性值即可。为实现该功能,可使用axMMControl控件的StatusUpdate事件,该事件的发生时间间隔由UpdateInterval属性值(本题设为100)决定 第50页/共103页10.4 任务2 视频文件播放器axMMControl控件、ProgressBar控件与视频文件控制任务实现:1启动VB.NET,新建一个项目,项目类型为“Windows应用程序”,项目的存放位置为“D:VBTASKCH10”,项目名为“Task10_2”。2把Form1窗体的Text属性值设置为“教师信息录入”,把它的Name属性值设置为“frmVideoPlayer”。单击“解决方案资源管理器”中的“Form1.VB”窗体,然后在属性窗口中把它文件名属性设置为“frmVideoPlayer.vb”。然后执行【项目】【Task10_2属性】命令,在出现的“Task10_2属性页”对话框中把“启动对象”设置为“frmVideoPlayer”第51页/共103页10.4 任务2 视频文件播放器axMMControl控件、ProgressBar控件与视频文件控制3执行【工具】【添加/删除工具箱项】命令,打开如图10-8所示的【自定义工具箱】对话框。单击“COM”页标签,在其中的列表框中选中“Microsoft Multimedia Control,Version 6.0”控件,然后单击“确定”按钮。此时,可以看到axMMControl控件已经添加到工具箱中,图标为“”。然后就可以把axMMControl控件添加到窗体中,在窗体中的axMMControl控件的形状如图10-9所示 图10-8 “自定义工具箱”对话框图10-9 axMMControl控件的形状第52页/共103页10.4 任务2 视频文件播放器axMMControl控件、ProgressBar控件与视频文件控制说明:axMMControl控件不是VB.NET的标准控件,要使用它必须把它添加进来。该控件上有九个按钮,分别代表九种功能,按钮的图标与录音机上的按钮非常相似,从左到右,这些按钮分别是:Prev(前一首或向前)、Next(下一首或向后)、Play(播放)、Pause(暂停)、Back(快速倒带)、Step(快速进带)、Stop(停止)、Record(录制)和Eject(弹出)第53页/共103页10.4 任务2 视频文件播放器axMMControl控件、ProgressBar控件与视频文件控制4再在工具栏中找到ProgressBar控件(进度条控件),该控

    注意事项

    本文(图形与多媒体程序设计.pptx)为本站会员(莉***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开