- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
图形图像与音频文件
第 * 页 * 第 * 页 《Java2实用教程(第4版)》 第14章 配合例子源代码一起使用 Power point 制作:耿祥义 张跃平 图形、图像与音频 * 第 * 页 导读 主要内容 绘制基本图形 图形的布尔运算 绘制钟表 绘制图像 播放音频 * 第 * 页 §14.1 绘制基本图形 Component类有一个方法public void paint(Graphics g),程序可以在其子类中重写这个方法。当程序运行时,java运行环境会用Graphicd2D(Graphics的一个子类)将参数g实例化,对象g就可以在重写paint方法的组件上内绘制图形、图像等 . Graphics2D的“画笔”分别使用draw和fill方法来绘制和填充一个图形。 组件都是矩形形状,组件本身有一个默认的坐标系,组件的左上角的坐标值是(0,0)。 例子1绘制了太极图和四边形,效果如图14.2。 * 第 * 页 §14.2 变换图形 有时需要平移、缩放或旋转一个图形。可以使用AffineTransform类来实现对图形的这些操作。例如: AffineTransform trans=new AffineTransform(); 将图形沿顺时针或逆时针以(x,y)为轴点旋转number个弧度 : trans.rotate(60.0*3.1415927/180,100,100); g_2d.setTransform(trans); 例子2旋转椭圆和字符串,效果如图14.3。 * 第 * 页 §14.3 图形的布尔运算 两个图形进行布尔运算运算之前,必须分别用这两个图形创建两个Area区域对象,例如: Area a1 = new Area(T1); Area a2 = new Area(T2); a1就是图形T1所围成的区域;a2就是T2所围成的区域。那么,a1调用add方法: a1.add(a2); 之后,a1就变成a1和a2经过布尔“或”运算后的图形区域。可以用Graphics2D对象g来绘制或填充一个Area对象(区域): g.draw(a1); g.fill(a1); 例子3绘制图形的布尔运算,效果如图14.4。 * 第 * 页 §14.4 绘制钟表 钟表可以显示当前本机的时间。在这里要用到一个数学公式,如果一个圆的圆心是(0,0),那么对于给定圆上的一点(x,y),该点按顺时针旋转α弧度后的的坐标(m,n)由下列公式计算: m = x×cos(α)-y×sin(α) n = y×cos(α)+x×sin(α) 例子4(Example14_4.java , Clock.java )绘制秒针、分针、时针走动的钟表,效果如图14.5。 * 第 * 页 §14.5 绘制图像 1.加载图像 组件调用getToolkit()方法可以返回这个对象的引用。Tollkit类的对象调用方法 Image getImage(String fileNme) 或 Image getImage(File file)。 可以返回一个Image对象,该对象封装着参数file(或参数fileName)指定的图像文件。 2.绘制图像 public boolean drawImage(Image img,int x,int y,ImageObserver observer); 参数img是被绘制的Image对象,x、y是要绘制指定图像的矩形的左上角所处的位置,observer是加载图像时的图像观察器 。 例子5绘制了一幅图像,并更改了窗口左上角的咖啡图像 * 第 * 页 §14.6 播放音频 播放音频的步骤如下。 (1)创建File对象 File musicFile=new File(hello.wav); (2)获取URI对象(URI类属于java.net包) URI uri=musicFile.toURI(); (3)获取URL对象 URI url=uri.toURL(); (4)创建音频对象(AudioClip和Applet类属于java.applet包) AudioClip clip=Applet.newAudioClip(url); (5)播放,循环与停止 clip.play() 开始播放, clip.loop() 循环播放, clip.stop() 停止播放。 例子6(Example14_6.java ), AudioClipDialog.java在应用程序中播放音频,界面效果如图14.7 * 第 * 页 §14.7 应用举例 1.制作JPG图像文件 制作
您可能关注的文档
最近下载
- 【部编统编版语文】四下语文 全册教材分析(解析)PPT课件合集.pptx VIP
- 企业主要负责人安全生产履职情况报告.docx VIP
- 企业主要负责人安全生产履职情况报告.pdf VIP
- 产品工时额定标准.pptx
- 学术论文 - 半导体物理第六七章习题答案..pdf VIP
- 新概念英语1-4册(课文版).doc
- 2024年上海高考语文真题文言文(一,二)词句解释与试题解析.docx
- 胸痛PBL护理查房.pptx
- 财务报表分析和证-券估值 ,第五版 答案 Financial Statement Analysis and Security Valuation solution SOLUTIONS_MANUAL ,5e.doc
- 北师大版七年级上册数学第五章《问题解决策略:直观分析》教学课件(新教材).pptx
文档评论(0)