Java基础教程(第3版)-第12章-图形、图像与音频ppt课件.ppt

上传人:飞****2 文档编号:32055851 上传时间:2022-08-08 格式:PPT 页数:15 大小:448.50KB
返回 下载 相关 举报
Java基础教程(第3版)-第12章-图形、图像与音频ppt课件.ppt_第1页
第1页 / 共15页
Java基础教程(第3版)-第12章-图形、图像与音频ppt课件.ppt_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《Java基础教程(第3版)-第12章-图形、图像与音频ppt课件.ppt》由会员分享,可在线阅读,更多相关《Java基础教程(第3版)-第12章-图形、图像与音频ppt课件.ppt(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 1 页注意:开始用功了注意:开始用功了!采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 2 页Java 基础教程(第基础教程(第3版)版) 第第12章章配合例子源代码一起使用例子源代码一起使用Power point 制作:耿祥义 张跃平图形、图像与音频图形、图像与音频 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口

2、面的圆度,保持熔接部位干净无污物主要内容主要内容第 3 页采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 4 页概述概述 ComponentComponent类有一个方法类有一个方法public void paint(Graphics g),程程序可以在其子类中重写这个方法。序可以在其子类中重写这个方法。 当程序运行时,当程序运行时,javajava运行环境会用运行环境会用Graphicd2DGraphicd2D(GraphicsGraphics的的一个子类)将参数一个子类)将参数g g实例化,对象实例化

3、,对象g g就可以在重写就可以在重写paintpaint方法的组方法的组件上内绘制图形、图像等件上内绘制图形、图像等 . .Graphics2DGraphics2D的的“画笔画笔”分别使用分别使用draw和和fill方法方法来绘制和填充来绘制和填充一个图形。一个图形。组件都是矩形形状,组件本身有一个默认的坐标系,组件的组件都是矩形形状,组件本身有一个默认的坐标系,组件的左上角的坐标值是左上角的坐标值是(0,0)。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 5 页12.1 绘制基本图形绘制基本图形-1

4、1直线直线 使用java.awt.geom包中的Line2D的静态内部类Double创建直线对象: new Line2D.Double(double x1,double y1,double x2,double y2);2矩形矩形 使用Rectangle2D.Double类创建一个矩形对象: new Rectangle2D.Double(double x,double y,double w,double h);3圆角矩形圆角矩形 使用RoundRectangle2D.Double类创建一个圆角矩形对象: new RoundRectangle2D.Double( double x,double y

5、,double w,double h,double arcw, double arch); 参数说明见page 236. 参考图12.1 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 6 页12.1 绘制基本图形绘制基本图形-2 4椭圆椭圆 使用Ellipse2D.Double类创建一个椭圆对象: new Ellipse2D.Double (double x,double y,double w,double h 0);5绘制圆弧绘制圆弧 使用Arc2D.Double类创建圆弧对象: new Arc2D.

6、Double(double x,double y, double w, double h, double start,double extent,int type); 参数说明见page 236.6绘制文本绘制文本 Graphics2D对象调用 drawString(String s, int x, int y) 绘制参数s指定的字符串。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 7 页12.1 绘制基本图形绘制基本图形-3 7绘制二次曲线和三次曲线绘制二次曲线和三次曲线 二次曲线可用二阶多项式 y(

7、x)=ax2+bx+c来表示。使用QuadCurve2D.Double类来创建一个二次曲线,例如: QuadCurve2D curve=new QuadCurve2D.Double (50,30,10,10,50,100); 三次曲线可用三阶多项式y(x)=ax3+bx2+cx+d来表示。使用CubicCurve2D.Double类创建三次曲线,例如: CubicCurve2D curve=new CubicCurve2D.Double( 50,30,10,10,100,100,50,100); 更多参数说明见page 236.8绘制多边形绘制多边形 使用java.awt包中的Polygon类

8、创建空多边形: Polygon polygon=new Polygon();然后多边形调用addPoint(int x,int y)方法向多边形添加顶点。 例子例子1绘制了太极图和四边形,效果如图12.2。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 8 页12.2 变换图形变换图形 (3 3)把把GraphicsGraphics对象对象,比如g_2d设置为具有trans这种功能的画笔g_2d.setTransform(trans); 假如rect是一个矩形对象,那么g_2d.draw(rect)画的就

9、是旋转后的矩形的样子。 例子例子2旋转椭圆和字符串,效果如图12.3 AffineTransformAffineTransform类可以使用来实现图形的平移、缩放或旋转。类可以使用来实现图形的平移、缩放或旋转。(1 1)首先使用)首先使用AffineTransformAffineTransform类创建一个对象:类创建一个对象: AffineTransform trans=new AffineTransform();对象对象transtrans具有最常用的三个方法来实现对图形变换操作:具有最常用的三个方法来实现对图形变换操作: translate(double a,double b) 移动图形

10、 scale(double a,double b) 缩放图形 rotate(double number,double x,double y) 旋转图形(2 2)进行需要的变换进行需要的变换trans.rotate(60.0*3.1415927/180,100,100); 准备把一个矩形绕点(100,100)顺时针旋转60度。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 9 页12.3 图形的布尔运算图形的布尔运算 两个图形进行布尔运算运算之前,必须分别用这两个图形创建两两个图形进行布尔运算运算之前,必须

11、分别用这两个图形创建两个个AreaArea区域对象,例如:区域对象,例如: Area a1 = new Area(T1); Area a2 = new Area(T2); a1 a1就是图形就是图形T1T1所围成的区域;所围成的区域;a2a2就是就是T2T2所围成的区域。那么,所围成的区域。那么,a1a1调用调用addadd方法:方法:a1.add(a2); 之后,之后,a1a1就变成就变成a1a1和和a2a2经过布尔经过布尔“或或”运运算后的图形区域。算后的图形区域。AreaArea类的常用方法见类的常用方法见page239.page239. 可以用可以用Graphics2DGraphics

12、2D对象对象g g来绘制或填充一个来绘制或填充一个AreaArea对象(区域):对象(区域): g.draw(a1); 和和 g.fill(a1);例子例子3 绘制图形的布尔运算,效果如图12.4。 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 10 页12.4 清除清除 clearRect(int x,int y,int width,int height) 用背景色填充指定矩形以达到清除该矩形的效果组件调用组件调用repaintrepaint方法时,程序首先清除方法时,程序首先清除paintpaint

13、()()方法以前所方法以前所画的内容,然后再调用画的内容,然后再调用paintpaint()()方法。方法。 注意:实际上当我们调用注意:实际上当我们调用repaintrepaint()()方法时,程序自动地去调用方法时,程序自动地去调用updateupdate(Graphics gGraphics g)方法(从父类方法(从父类ComponentComponent继承下来的),继承下来的),updateupdate方法清方法清除除paintpaint()()方法以前所画的内容,然后再调用方法以前所画的内容,然后再调用paintpaint方法。但有时不想让程方法。但有时不想让程序清除序清除pai

14、ntpaint()()方法以前所画的所有内容,那么可以在程序中重写方法以前所画的所有内容,那么可以在程序中重写updateupdate方方法(即隐藏父类的方法),根据需要来清除哪些部分或保留哪些部分。法(即隐藏父类的方法),根据需要来清除哪些部分或保留哪些部分。例子例子4 效果如图12.5。 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 11 页12.5 绘制图像绘制图像 组件上可以显示图像,首先使用Icon类的子类ImageIcon类创建封装图像文件(如cat.jpg)的IconImage对象:Ico

15、n icon=new ImageIcon(cat.jpeg);然后让按钮组件(如button)调用方法设置其上的图像:button.setIcon(icon); 除了上述方法外,可以使用Grapgics绘制图像,步骤如下: 1 1加载图像加载图像 组件调用getToolkit() 方法可以返回这个对象的引用。Tollkit类的对象调用方法 Image getImage(String fileNme)或Image getImage(File file)可以返回一个Image对象,该对象封装着参数指定的图像文件。2绘制图像绘制图像 public boolean drawImage(Image im

16、g,int x,int y,ImageObserver observer); 参数img是被绘制的Image对象,x、y是要绘制指定图像的矩形的左上角所处的位置,observer是加载图像时的图像观察器 。 public boolean drawImage(Image img,int x,int y ,int width ,int height ,ImageObserver observer) 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 12 页例子例子5 5 例子例子5绘制了一幅图像,并更改了窗口左

17、上角的咖啡图像。效果如图12.6。 注:JFrame对象可用setIconImage(Image image)方法设置窗口左上角的图像,Java窗口的默认图标是一个咖啡杯。采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 13 页12.6 播放音频播放音频 播放音频的步骤如下步骤如下。(1)创建File对象File musicFile=new File(hello.wav);(2)获取URI对象(URI类属于包)URI uri=musicFile.toURI();(3)获取URL对象URI url=uri.

18、toURL();(4)创建音频对象(AudioClip和Applet类属于java.applet包)AudioClip clip=Applet.newAudioClip(url); (5)播放,循环与停止clip.play() 开始播放,clip.loop() 循环播放,clip.stop() 停止播放。例子例子6 Example12_6.java , AudioClipDialog.java在应用程序中播放音频, 效果如图12.7 .采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 14 页12.7 小结小结1可以使用Graphics类或其子类Grapgics2D类绘制各种基本图形、图像 。2在应用程序中可以播放 .au,.aiff,.wav,.midi,.rfm格式的音频 。“本节结束咯本节结束咯偶都会了偶都会了太葱明了太葱明了” 可以听到美妙的音乐喽!可以听到美妙的音乐喽! 采用PP管及配件:根据给水设计图配置好PP管及配件,用管件在管材垂直角切断管材,边剪边旋转,以保证切口面的圆度,保持熔接部位干净无污物第 15 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com