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

上传人:牧羊曲112 文档编号:1376279 上传时间:2022-11-16 格式: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_第3页
第3页 / 共15页
Java基础教程(第3版) 第12章 图形、图像与音频ppt课件.ppt_第4页
第4页 / 共15页
Java基础教程(第3版) 第12章 图形、图像与音频ppt课件.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Java基础教程(第3版) 第12章 图形、图像与音频ppt课件.ppt》由会员分享,可在线阅读,更多相关《Java基础教程(第3版) 第12章 图形、图像与音频ppt课件.ppt(15页珍藏版)》请在三一办公上搜索。

1、第 1 页,注意:开始用功了!,第 2 页,Java 基础教程(第3版) 第12章,配合例子源代码一起使用,Power point 制作:耿祥义 张跃平,图形、图像与音频,主要内容,第 3 页,第 4 页,概述,Component类有一个方法public void paint(Graphics g),程序可以在其子类中重写这个方法。 当程序运行时,java运行环境会用Graphicd2D(Graphics的一个子类)将参数g实例化,对象g就可以在重写paint方法的组件上内绘制图形、图像等 .Graphics2D的“画笔”分别使用draw和fill方法来绘制和填充一个图形。组件都是矩形形状,组

2、件本身有一个默认的坐标系,组件的左上角的坐标值是(0,0)。,第 5 页,12.1 绘制基本图形-1,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

3、 RoundRectangle2D.Double( double x,double y,double w,double h,double arcw, double arch); 参数说明见page 236. 参考图12.1,第 6 页,12.1 绘制基本图形-2,4椭圆 使用Ellipse2D.Double类创建一个椭圆对象: new Ellipse2D.Double (double x,double y,double w,double h 0);5绘制圆弧 使用Arc2D.Double类创建圆弧对象: new Arc2D.Double(double x,double y, double w,

4、 double h, double start,double extent,int type); 参数说明见page 236.6绘制文本 Graphics2D对象调用 drawString(String s, int x, int y) 绘制参数s指定的字符串。,第 7 页,12.1 绘制基本图形-3,7绘制二次曲线和三次曲线 二次曲线可用二阶多项式 y(x)=ax2+bx+c来表示。使用QuadCurve2D.Double类来创建一个二次曲线,例如: QuadCurve2D curve=new QuadCurve2D.Double (50,30,10,10,50,100); 三次曲线可用三阶

5、多项式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类创建空多边形: Polygon polygon=new Polygon();然后多边形调用addPoint(int x,int y)方法向多边形添加顶点。 例子1绘制了太极图和四边形,效果如图12.2。,第 8 页,12.2 变换图形,(3)把Gra

6、phics对象,比如g_2d设置为具有trans这种功能的画笔g_2d.setTransform(trans); 假如rect是一个矩形对象,那么g_2d.draw(rect)画的就是旋转后的矩形的样子。 例子2旋转椭圆和字符串,效果如图12.3,AffineTransform类可以使用来实现图形的平移、缩放或旋转。(1)首先使用AffineTransform类创建一个对象: AffineTransform trans=new AffineTransform();对象trans具有最常用的三个方法来实现对图形变换操作: translate(double a,double b) 移动图形 sca

7、le(double a,double b) 缩放图形 rotate(double number,double x,double y) 旋转图形(2)进行需要的变换trans.rotate(60.0*3.1415927/180,100,100); 准备把一个矩形绕点(100,100)顺时针旋转60度。,第 9 页,12.3 图形的布尔运算,两个图形进行布尔运算运算之前,必须分别用这两个图形创建两个Area区域对象,例如: Area a1 = new Area(T1); Area a2 = new Area(T2); a1就是图形T1所围成的区域;a2就是T2所围成的区域。那么,a1调用add方法

8、:a1.add(a2); 之后,a1就变成a1和a2经过布尔“或”运算后的图形区域。Area类的常用方法见page239. 可以用Graphics2D对象g来绘制或填充一个Area对象(区域): g.draw(a1); 和 g.fill(a1);,例子3 绘制图形的布尔运算,效果如图12.4。,第 10 页,12.4 清除, clearRect(int x,int y,int width,int height) 用背景色填充指定矩形以达到清除该矩形的效果组件调用repaint方法时,程序首先清除paint()方法以前所画的内容,然后再调用paint()方法。 注意:实际上当我们调用repain

9、t()方法时,程序自动地去调用update(Graphics g)方法(从父类Component继承下来的),update方法清除paint()方法以前所画的内容,然后再调用paint方法。但有时不想让程序清除paint()方法以前所画的所有内容,那么可以在程序中重写update方法(即隐藏父类的方法),根据需要来清除哪些部分或保留哪些部分。,例子4 效果如图12.5。,第 11 页,12.5 绘制图像,组件上可以显示图像,首先使用Icon类的子类ImageIcon类创建封装图像文件(如cat.jpg)的IconImage对象:Icon icon=new ImageIcon(cat.jpeg)

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

11、数img是被绘制的Image对象,x、y是要绘制指定图像的矩形的左上角所处的位置,observer是加载图像时的图像观察器 。 public boolean drawImage(Image img,int x,int y ,int width ,int height ,ImageObserver observer),第 12 页,例子5,例子5绘制了一幅图像,并更改了窗口左上角的咖啡图像。效果如图12.6。 注:JFrame对象可用setIconImage(Image image)方法设置窗口左上角的图像,Java窗口的默认图标是一个咖啡杯。,第 13 页,12.6 播放音频,播放音频的步骤如

12、下。(1)创建File对象File musicFile=new File(hello.wav);(2)获取URI对象(URI类属于包)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 Example12_6.java , AudioClipDialog.java在应用程序中播放音频, 效果如图12.7 .,第 14 页,12.7 小结,1可以使用Graphics类或其子类Grapgics2D类绘制各种基本图形、图像 。2在应用程序中可以播放 .au,.aiff,.wav,.midi,.rfm格式的音频 。,“本节结束咯偶都会了太葱明了” 可以听到美妙的音乐喽!,第 15 页,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号