《程序设计与实例分析》课件-第七讲_第1页
《程序设计与实例分析》课件-第七讲_第2页
《程序设计与实例分析》课件-第七讲_第3页
《程序设计与实例分析》课件-第七讲_第4页
《程序设计与实例分析》课件-第七讲_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

图形设备接口1数据图形展示2图像处理3声音与视频播放4Contents目录图形设备接口1数据图形展示2图像处理3声音与视频播放4Contents目录7.1图形设备接口图形图像和多媒体处理是C#的重要应用之一。.NET框架通过封装GDI+实现了图形图像的处理功能,使用SoundPlayer类播放WAV声音,使用WindowsAPI播放MP3,使用WindowsMediaPlayer控件播放音频或视频,使用ShockWaveFlash控件播放Flash文件。利用C#可以开发出强大的图形、图像和多媒体程序。GDI(GraphicsDeviceInterface,图形设备接口)GDI+(GraphicsDeviceInterfacePlus,图形设备接口),主要提供三类服务:二维矢量图形图像处理文字显示7.1图形设备接口-——利用GDI+绘图的主要步骤步骤一:创建Graphics对象:完成画布的创建功能。步骤二:绘制和操作形状与图像:创建了Graphics对象之后,可以用它来绘制线条和形状、呈现文本或显示与操作图像。比如,可以用Pen,Brush类来实现类似画笔和画刷的功能,用Color类实现颜料的功能。7.1图形设备接口-——Graphics类简介创建Graphics对象的方法在窗体或控件的Paint事件中获取Graphics对象调用某控件或窗体的CreateGraphics()方法来获取对Graphics对象的引用从继承自图像的任何对象来创建Graphics对象7.1图形设备接口-——Graphics类简介有了一个Graphics的对象引用后,就可以利用该对象的成员进行各种各样图形的绘制了7.1图形设备接口-——Graphics类简介常用的画图对象Pen:用来绘制指定宽度和样式的直线。Color:用来画线和多边形,包括矩形、圆和饼形。Font:用来给文字设置字体格式。Brush:用来描述颜色。Rectangle:矩形结构通常用来在窗体上画矩形。Point:描述一对有序的x,y两个坐标值。图形设备接口1数据图形展示2图像处理3声音与视频播放4Contents目录7.2数据图形展示-——概述对于信息工程专业而言,会遇到很多数据采集系统,经常需要将采集到的数据以图形化的形式在界面中展示出来,通常可以采用折线图或者曲线图来展示。对于很多信息系统来说,经常需要对系统当中的信息进行统计分析,并将分析结果进行图形化的展示。统计图形种类繁多,有柱状图、折线图、扇形图等等,而统计图形的绘制方法也有很多,有Flash制作的统计图形,有水晶报表生成统计图形,有专门制图软件制作的图形,也有编程语言自己制作的图形。7.2数据图形展示-——案例5-2利用GDI+图形绘制接口完成数据的折线图展示,数据来源直接用数组输入。请同学演示7.2数据图形展示-——其他方法FusionCharts用XML文件作为数据的载体,从外部的XML文件获取数据,并根据数据显示动画图表。在XML中定义图表的各种属性,和图表的数据。在应用的时候,只要更改XML文件即可。NplotZedGraphActiproDevExpress7.2数据图形展示-——案例5-3利用ZedGraph第三方控件,实现一个简单的折线图显示程序。请同学演示图形设备接口1数据图形展示2图像处理3声音与视频播放4Contents目录7.3图像处理在C#中进行图像处理一般都是通过Image类及其派生类来实现的。Image类封装了对BMP、GIF、JPG、EXIF、PNG、TIFF和ICON图像文件的调入、格式转换以及简单的处理功能。Image是一个抽象类,不能建立实例。Bitmap和Metafile类从Image类中继承,可以用Bitmap类来加载和显示光栅图像,用Metafile类来加载和现实矢量图像。7.3图像处理——Image类7.3图像处理——Bitmap类7.3图像处理——案例5-4创建一个图像处理程序,对图像进行底片效果、浮雕效果和黑白效果的变换显示。实现思路分析底片效果的实现思路为:GetPixel方法获得每一点像素的值,然后再使用SetPixel方法将取反后的颜色值设置到对应的点。浮雕效果的实现原理为:对图像像素点的像素值分别与相邻像素点的像素值相减后加上128,然后将其作为新的像素点的值。彩色图像处理成黑白效果通常有3种算法,分别是最大值法、平均值法和加权平均值法。图形设备接口1数据图形展示2图像处理3声音与视频播放4Contents目录7.4声音与视频播放——声音播放的几种方法使用SoundPlayer类播放WAV文件System.Media.SoundPlayer类可以用来加载和播放WAV文件。SoundPlayer类支持从文件路径、URL、包含WAV文件的流或包含WAV文件的嵌入资源中加载WAV文件。7.4声音与视频播放——声音播放的几种方法使用WindowsAPI播放MP3文件WindowsAPI当中的winmm.dll库中的mciSendString()可以用来播放声音,该函数不仅支持WAV,而且支持MP3。一般步骤:7.4声音与视频播放——声音播放的几种方法使用WindowsMediaPlay控件在C#中,可以引用Windows自带的WindowsMediaPlayer组件播放多种格式的音频文件和视频文件,所支持的音频文件和视频文件格式由电脑系统安装的解码器决定。WindowsMediaPlayer控件不是标准的控件,一般直接在工具箱中是无法找到的,在使用控件之前需要手动将其添加到工具箱当中。使用该控件时,直接在工具箱当中找到该控件,拖放到窗体上即可直接利用该控件的属性和方法进行多媒体文件播放了。上机实验中,要求利用WindowsMediaPlay控件完成一个多媒体播放器7.4声音与视频播放——其他多媒体处理技术简介DirectX技术DirectX是微软开发的多媒体应用程序接口(API)(包括图形,声音,输入,网络)。Direct代表直接的意思,X代表很多部分,DirectX就是一系列的DLL(动态连接库)。DirectX介于硬件和Windows应用程序之间,能够主动探测硬件的性能,当可以用硬件完成时,就直接通过硬件工作,如果硬件不支持,就通过软件模拟实现。在开发中,DX分为两个部分,一个是运行库,通过DX编译出来的程式必须要有运行库的支持,另外一个是开发库,也就是常说的SDK,这部分是在编译DX程序中是必需的。7.4声音与视频播放——其他多媒体处理技术简介DirectX组件DirectX组件包括:DirectDraw、Direct3D、DirectSound、DirectMusic、DirectInput、DirectPlay、DirectSetup、DirectShow。7.4声音与视频播放——其他多媒体处理技术简介DirectShowDirectShow是一个windows平台上的流媒体框架,提供了高质量的多媒体流采集和回放功能。它支持多种多样的媒体文件格式,包括ASF、MPEG、AVI、MP3和WAV文件,同时支持使用WDM驱动或早期的VFW驱动来进行多媒体流的采集。DirectShow整合了其它的DirectX技术,能自动地侦测并使用可利用的音视频硬件加速,也能支持没有硬件加速的系统。DirectShow运行的方式通常是一个开发者创建一个FilterGraph,把一些Filter(可能订制)加入FilterGraph,然后播放文件,或者播放来自互联网或照相机的数据。当播放进程运行时,FilterGraph在Windows注册中寻找注册了的Filters并且为这些Filter创建本地提供的Graph。在这之后,它将所有的Filter连接在一起,并且在开发者的请求下,播放/中止创造Graph。7.4声音与视频播放——其他多媒体处理技术简介MediaFoundationMediaFoundation是微软在WindowsVista上推出的新一代多媒体应用库,目的是为Windows平台提供一个统一的多媒体影音解决方案,开发者可以通过MediaFoundation播放视频或声音文件、进行多媒体文件格式转码,或者将一连串图片编码为视频等。MediaFoundation是DirectShow为主的旧式多媒体应用程序接口的替代者与继承者,在微软的计划下将逐步汰换DirectShow技术。MediaFoundation要求WindowsVista或更高版本,不支持较早期的Windows版本,特别是WindowsXP。7.4声音与视频播放——其他多媒体处理技术简介FFmpegFFmpeg是一套可以用来记录、转换数字音

温馨提示

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

评论

0/150

提交评论