C#程序设计案例教程 教学课件 王明福 源代码习题答案 第十章.ppt

C#程序设计案例教程 教学课件 王明福 源代码习题答案 第十章.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C#程序设计案例教程 教学课件 王明福 源代码习题答案 第十章

10.1 媒体程序介绍 1. 时钟仿真程序 图10-1是MyClock程序的运行结果,是一个时钟仿真程序。 10.1 媒体程序介绍(续) 2. 媒体播放器 图10-2所示是一个正在播放媒体的播放器,可以播放波形音频(WAVE)、MIDI音频和视频(AVI)三种媒体,其中进程条显示播放的进度。 10.1 媒体程序介绍(续) 首先介绍有关GDI+绘图基础:Graphics类、Pen类、Brush类、Font类和Bitmao类,然后用自定义类作为基类,完成时钟程序的仿真开发。 10.2 GDI+绘图基础 DGI+的功能包含在System、System.Drawing、System.Drawing.Image、System.Drawing.Draw2D和System.Drawing.Text等名称空间的各个类中。 10.2.1 Graphics类 Graphics类封装一个GDI+绘图图面。Graphics对象表示GDI+的绘图表面,是用来创建图形图像的对象。绘制图形包括两个步骤: (1)创建Graphics对象; (2)使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像。 10.2.2 画笔Pen类 用Pen类创建画笔对象。画笔通常具有宽度、样式和颜色三种属性。 例如: (1)创建一个默认宽度为1的黑笔 Pen myPen = new Pen(Color.Black); (2)创建一个宽度为6的黑笔 Pen myPen = new Pen(Color.Black,6); 【例10-1】 用Pen类画一条直线 (1) 创建Windows窗体应用程序项目MyDraw,修改默认窗体的Text属性值为“绘图”,Name属性采用默认值。 (2) 在Form1窗体中,添加button控件,将其Text属性修改为“画直线”。 (3) 为“画直线”按钮的Click事件添加处理代码。 10.2.3 画刷Brush类 GDI+提供了几种画刷类来填充内部区域 : ? SolidBrush类:单色画刷,在命名空间System.Drawing中定义,其构造函数只有一个,定义如下: SolidBrush brush1 = new SolidBrush(Color color); 可使用属性Color来修改画刷颜色,例如:brush1.Color = Color.Green; ? TextureBrush类:纹理(图像)画刷使用图像填充封闭曲线的内部。 ? HatchBrush类:阴影画刷是用指定样式、填充线条颜色和背景颜色的画刷。 ? LinearGradientBrush类:颜色渐变画刷。 【例10-3】 画一个添充矩形。 类似例10-2,打开MyDraw项目,在窗体中添加“添充矩形”Button控件,并为该按钮添加Click事件处理方法,编写填充矩形代码。 10.2.4 字体Font类 【例10-4】在MyDraw项目中,使用Graphics类中的DrawString方法绘制文本。 10.2.5 位图Bitmap类 1. 图像的显示 1. 图像的显示(续) 10.3 时钟程序的开发 10.3.1 创建时钟程序项目 10.3.2 声明时针基类Hand 时针(HourHand)、分针(MinuteHand)和秒针(SecondHand)包含相似的属性和方法,在名字空间MyClock中构建一个针(Hand)类作为它们的共同基类,提供共有的成员 10.3.3 声明Hand的派生类: 秒针、分针和时针类 1. 分针类(MinuteHand ) 在名字空间MyClock中,以Hand为基类,派生出MinuteHand类 10.3.3 声明Hand的派生类: 秒针、分针和时针类 2. 秒针类(SecondHand ) 10.3.3 声明Hand的派生类: 秒针、分针和时针类 3. 时针类(HourHand ) 在名字空间MyClock中,以Hand为基类,派生出HourHand类 10.3.4 声明时钟表面 时钟表面用ClockFace类来实现。画一个圆代表时钟,画上米老鼠的图案,最后在相应的位置画上数字1-12。在名字空间MyClock中新建ClockFace类: 10.3.5 时钟初始化 在窗体Form1类中定义时针(HourHand)、分针(MinuteHand)和秒针(SecondHand)类对象,并在其构造函数中实例化 10.3.6 时钟启动 (1) 为Timer1控件的Tick事件,添加事件处理方法,在Tick事件方法中,计算当前时钟的仿真代码,然后调用Invalidate()方法激活Paint事件 1

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档