欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    Java程序设计案例教程-第11章 Java绘图与动画.ppt

    • 资源ID:86300299       资源大小:738KB        全文页数:38页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Java程序设计案例教程-第11章 Java绘图与动画.ppt

    Java程序设计案例教程第11章 Java绘图与动画第第11章章 Java绘图与动画绘图与动画第1页本章概述 本章的学习目标主要内容Java程序设计案例教程第11章 Java绘图与动画本章概述本章概述l图形图像与动画等多媒体技术是当今计算机信息领域的热图形图像与动画等多媒体技术是当今计算机信息领域的热门话题,而且已经成为计算机中最大的应用领域。有了图门话题,而且已经成为计算机中最大的应用领域。有了图形图像和动画,应用程序才变得丰富多彩,栩栩如生。传形图像和动画,应用程序才变得丰富多彩,栩栩如生。传统的统的Java绘图与动画主要由绘图与动画主要由AWT的的Graphics和和Graphics2D类来实现的,新的类来实现的,新的GUI框架框架JavaFX也对绘图也对绘图和动画提供了强大的支持。本章将分别介绍传统的和动画提供了强大的支持。本章将分别介绍传统的Java绘绘图与动画技术,以及图与动画技术,以及JavaFX中的绘图与动画效果的应用。中的绘图与动画效果的应用。第2页Java程序设计案例教程第11章 Java绘图与动画本章的学习目标本章的学习目标l掌握掌握Graphics类提供的绘制图形的方法类提供的绘制图形的方法l了解了解Java2D绘图绘图l掌握传统的掌握传统的Java多线程实现的动画技术多线程实现的动画技术l了解消除动画中的闪烁的方法了解消除动画中的闪烁的方法l掌握掌握JavaFX的直接在画布上绘图的方法的直接在画布上绘图的方法l了解了解JavaFX的动画效果的动画效果第3页Java程序设计案例教程第11章 Java绘图与动画第4页主要内容主要内容11.1 传统的传统的Java绘图绘图11.2 显示图像与动画显示图像与动画11.3 JavaFX绘图与动画绘图与动画11.4 本章小结本章小结11.5 思考和练习思考和练习Java程序设计案例教程第11章 Java绘图与动画11.1 传统的传统的Java绘图绘图lJava的图形都是相对于窗口绘制的,可以是的图形都是相对于窗口绘制的,可以是applet的主窗口或子窗口,也可以是独立应用程的主窗口或子窗口,也可以是独立应用程序窗口序窗口(基于基于Swing的窗口也支持这些方法的窗口也支持这些方法)。传统。传统的的Java绘图是使用绘图是使用AWT包中的包中的Graphics类和类和Graphics2D类提供的绘图方法来绘制简单的图形。类提供的绘图方法来绘制简单的图形。第5页Java程序设计案例教程第11章 Java绘图与动画图形直角坐标系统图形直角坐标系统l使用使用Java绘制图形时,采用以象素为单位的直角坐标系统,绘制图形时,采用以象素为单位的直角坐标系统,这是一种对屏幕上每个点进行定位的方案,默认情况下,这是一种对屏幕上每个点进行定位的方案,默认情况下,该坐标系统的圆点位于屏幕的左上角,向左延伸出该坐标系统的圆点位于屏幕的左上角,向左延伸出X轴的轴的正方向,向下延伸出正方向,向下延伸出Y的正方向,这和其他的编程语言是的正方向,这和其他的编程语言是相同的。相同的。l所有的图形向窗口的输出都是通过图形上下文进行的。图所有的图形向窗口的输出都是通过图形上下文进行的。图形上下文是由形上下文是由Graphics类封装的,可以通过两种方式获类封装的,可以通过两种方式获得图形上下文:得图形上下文:作为参数通过方法传递,例如方法作为参数通过方法传递,例如方法paint()或或update()。通过通过Component的的getGraphics()方法返回。方法返回。第6页Java程序设计案例教程第11章 Java绘图与动画Graphics类类lGraphics类是抽象类,它定义了大量方法,用于绘制各类是抽象类,它定义了大量方法,用于绘制各种类型的对象,例如直线、矩形和弧线。有的个方法只绘种类型的对象,例如直线、矩形和弧线。有的个方法只绘制对象的边框,有的方法则绘制填充的对象。对象以当前制对象的边框,有的方法则绘制填充的对象。对象以当前选择的图形颜色进行绘制和填充,默认是黑色。当对图形选择的图形颜色进行绘制和填充,默认是黑色。当对图形对象的绘制超出窗口的范围时,会自动剪裁输出。对象的绘制超出窗口的范围时,会自动剪裁输出。第7页Java程序设计案例教程第11章 Java绘图与动画Java2D图形图形lGraphics类提供的方法只能绘制宽度为类提供的方法只能绘制宽度为1个象素的图形。个象素的图形。如果需要绘制宽度大于如果需要绘制宽度大于1个像素的图形,则需要使用个像素的图形,则需要使用Graphics2D。这是从。这是从JDK1.2版本开始增加的类,它扩展版本开始增加的类,它扩展了了Graphics类。类。Graphics2D在几个地方增强了在几个地方增强了Graphics提供的基本功能。为了使用这种扩展的功能,提供的基本功能。为了使用这种扩展的功能,需要将使用需要将使用paint()等方法获得的图形上下文强制转换成等方法获得的图形上下文强制转换成Graphics2D。lGraphics2D提供了以下方法来设置绘图环境的属性。提供了以下方法来设置绘图环境的属性。void setBackground(Color color):设置绘图环境的背景颜色;:设置绘图环境的背景颜色;void setPaint(Paint paint):设置绘图环境的绘图颜色;:设置绘图环境的绘图颜色;void setStroke(Stroke s):设置绘图环境画笔的样式。:设置绘图环境画笔的样式。第8页Java程序设计案例教程第11章 Java绘图与动画Font 类类lFont类,即字体类,可以使用它来控制文本的字体及其样类,即字体类,可以使用它来控制文本的字体及其样式。式。Font类提供了将字符序列映射到字形序列所需要的信类提供了将字符序列映射到字形序列所需要的信息,以便在息,以便在Graphics对象和对象和Component对象上呈现字形对象上呈现字形序列。序列。lFont类的构造方法如下:类的构造方法如下:Font(Font font);Font(String fontname,int style,int size);l其中,其中,fontname为字体名称,是字体集合中的某个字符为字体名称,是字体集合中的某个字符串,该字符串是某种字体的名称;串,该字符串是某种字体的名称;style为字体风格,是为字体风格,是Font类定义的静态常量,包括类定义的静态常量,包括Font.PLAIN(下划线下划线),Font.BOLD(粗体粗体)和和Font.ITALIC(斜体斜体)等,可以是多个值等,可以是多个值的组合风格,如,的组合风格,如,Font.BOLD|Font.ITALIC可以指定加粗、可以指定加粗、斜体样式;斜体样式;size为字体的大小。为字体的大小。第9页Java程序设计案例教程第11章 Java绘图与动画Color类类lColor类用于封装默认类用于封装默认sRGB(standard Red Green Blue)颜色空间中的颜色,或者用于封装由颜色空间中的颜色,或者用于封装由ColorSpace标识的标识的任意颜色空间中的颜色。每种颜色都有一个隐式的任意颜色空间中的颜色。每种颜色都有一个隐式的alpha值值1.0,或者有一个在构造方法中指定的,或者有一个在构造方法中指定的alpha值。值。alpha值定义了颜色的透明度,可用一个范围在值定义了颜色的透明度,可用一个范围在 0.01.0或或0255内的浮点数来表示它。内的浮点数来表示它。alpha值为值为1.0或或255则意味则意味着颜色完全不透明,着颜色完全不透明,alpha值为值为0或或0.0则意味着颜色完全则意味着颜色完全透明。透明。lColor类定义了一些静态颜色常量,如类定义了一些静态颜色常量,如YELLOW和和yellow都表示黄色,都表示黄色,BLUE和和blue表示蓝色等。表示蓝色等。第10页Java程序设计案例教程第11章 Java绘图与动画绘制简单图形绘制简单图形第11页Java程序设计案例教程第11章 Java绘图与动画Java2D绘图绘图l使用使用Graphics2D可以绘制更丰富的可以绘制更丰富的Java2D图形。图形。在绘制图形之前,通常需要使用在绘制图形之前,通常需要使用setStroke()方法方法设置绘图环境的画笔样式,通过设置绘图环境的画笔样式,通过setPaint()方法设方法设置绘图颜色。置绘图颜色。l通常使用通常使用BasicStroke类来指定画笔的宽度。类来指定画笔的宽度。BasicStroke类实现了类实现了Stroke接口,该类用来定接口,该类用来定义直线的宽度、连接的样式、直线末端的样式以义直线的宽度、连接的样式、直线末端的样式以及虚线的样式。及虚线的样式。第12页Java程序设计案例教程第11章 Java绘图与动画Java2D绘图绘图lJava2D可以通过可以通过setPaint()方法来设置绘图颜色,方法来设置绘图颜色,本书介绍两个比较常用的:本书介绍两个比较常用的:GradientPaint和和TexturePaint。lGradientPaint用来定义线性渐变颜色用来定义线性渐变颜色lTexturePaint类用来定义填充的材质类用来定义填充的材质(texture),该类的构造方法如下:该类的构造方法如下:TexturePaint(BufferedImage texture,Rectangle2D rect)l其中,其中,texture参数是一个参数是一个BufferedImage对象,对象,用来定义一个单位材质;用来定义一个单位材质;rect参数用来复制材质。参数用来复制材质。第13页Java程序设计案例教程第11章 Java绘图与动画Java2D绘图绘图第14页Java程序设计案例教程第11章 Java绘图与动画XOR绘图模式绘图模式l绘图模式指的是画笔的着色方式。默认的绘图模绘图模式指的是画笔的着色方式。默认的绘图模式为覆盖,即后绘制的图形将覆盖先前绘制的图式为覆盖,即后绘制的图形将覆盖先前绘制的图形。形。Graphics类还提供了一种异或绘图模式,即类还提供了一种异或绘图模式,即XOR模式。用户可以通过模式。用户可以通过setXORMode()方法来方法来将当前的绘图模式设置为异或模式。从将当前的绘图模式设置为异或模式。从XOR模式模式返回到覆盖模式的方法是调用返回到覆盖模式的方法是调用setPaintMode()方方法。法。lXOR模式的优点是:新对象总是保证可见,而不模式的优点是:新对象总是保证可见,而不管在它上面绘制的颜色是什么。管在它上面绘制的颜色是什么。第15页Java程序设计案例教程第11章 Java绘图与动画XOR绘图模式绘图模式第16页Java程序设计案例教程第11章 Java绘图与动画显示文本显示文本l除了绘制图形以外,除了绘制图形以外,Graphics类还提供了显示文本的方类还提供了显示文本的方法法drawString,在调用该方法显示文本时,还可以先设置,在调用该方法显示文本时,还可以先设置文本的颜色和字体。文本的颜色和字体。第17页Java程序设计案例教程第11章 Java绘图与动画第18页主要内容主要内容11.1 传统的传统的Java绘图绘图11.2 显示图像与动画显示图像与动画11.3 JavaFX绘图与动画绘图与动画11.4 本章小结本章小结11.5 思考和练习思考和练习Java程序设计案例教程第11章 Java绘图与动画11.2 显示图像与动画显示图像与动画l图像是由专门的软件和截取图像的工具生成的二进制文件,图像是由专门的软件和截取图像的工具生成的二进制文件,按照不同存储图像数据形成了不同的图形种类,主要包括按照不同存储图像数据形成了不同的图形种类,主要包括bmp、gif、jpeg等几种,本节将介绍等几种,本节将介绍Java如何处理这些如何处理这些现有的图像资源。现有的图像资源。l虽然虽然Graphics类提供了大量的绘图方法,但是,如果用类提供了大量的绘图方法,但是,如果用它们来绘制比较复杂的图形,还是比较困难,所以对于复它们来绘制比较复杂的图形,还是比较困难,所以对于复杂的图像,还是通过其他图像处理软件处理好之后,然后杂的图像,还是通过其他图像处理软件处理好之后,然后通过通过Graphics类的类的drawImage()方法将它加载并显示出来。方法将它加载并显示出来。第19页Java程序设计案例教程第11章 Java绘图与动画创建图像创建图像l图像的创建有多种方法,最简单的是从文件获取,通常使用图像的创建有多种方法,最简单的是从文件获取,通常使用ImageIO类的类的read方法来读取。该方法返回的是方法来读取。该方法返回的是BufferedImage对象,对象,BufferedImage是是Image的子类,它描述了具有可访问图像数据缓冲的子类,它描述了具有可访问图像数据缓冲区的区的Image。l如果没有图像文件,还可以通过程序来生成一个图像,这就需要用到如果没有图像文件,还可以通过程序来生成一个图像,这就需要用到ImageProducer接口。该接口的定义在接口。该接口的定义在java.awt.image包中,该包中包中,该包中的的FilterImageSource和和MemoryImageSource类都实现了类都实现了ImageProducer接口。接口。lMemoryImageSource类用来在内存中生成图像,该类的构造方法如类用来在内存中生成图像,该类的构造方法如下:下:MemoryImageSource(int w,int h,int pixel,int offset,int scan)lFilteredImageSource类基于已经载入的图像和图像过滤器来生成一类基于已经载入的图像和图像过滤器来生成一张图片,该类的构造方法如下:张图片,该类的构造方法如下:public FilteredImageSource(ImageProducer origObj,ImageFilter imgObj);第20页Java程序设计案例教程第11章 Java绘图与动画过滤图像过滤图像l过滤器的概念类似于摄影中的滤色镜。图像过滤器过滤器的概念类似于摄影中的滤色镜。图像过滤器ImageFilter能够在图像显示之前修改图像,能够在图像显示之前修改图像,java.awt.image中提供了中提供了ImageFilter及其两个子类及其两个子类CropImageFilter和和RGBImageFilter。CropImageFilter用于提取图像中指定矩形区域的图像,而用于提取图像中指定矩形区域的图像,而RGBImageFilter用于对图像的色彩进行处理。用于对图像的色彩进行处理。l本书案例用到了本书案例用到了CropImageFilter过滤器,过滤器,CropImageFilter的构造方法如下:的构造方法如下:public CropImageFilter(int x,int y,int width,int height);l其中其中(x,y)为剪裁矩形的坐标,为剪裁矩形的坐标,width和和height为剪裁的宽为剪裁的宽度和高度。度和高度。l创建完图像过滤器之后,可以通过创建完图像过滤器之后,可以通过FilteredImageSource对象来将过滤器放在已有的图像源之上。对象来将过滤器放在已有的图像源之上。第21页Java程序设计案例教程第11章 Java绘图与动画显示图像显示图像第22页Java程序设计案例教程第11章 Java绘图与动画多线程实现动画多线程实现动画l所谓动画就是通过连续播放一系列画面,给视觉造成连续所谓动画就是通过连续播放一系列画面,给视觉造成连续变化的图画,这是动画最基本的原理。在变化的图画,这是动画最基本的原理。在Java中实现动画中实现动画有很多种办法,但它们实现的基本原理是一样的,即在屏有很多种办法,但它们实现的基本原理是一样的,即在屏幕上画出一系列的帧,给人的视觉造成运动的感觉。幕上画出一系列的帧,给人的视觉造成运动的感觉。l要在要在Java中实现动画效果,首先需要用中实现动画效果,首先需要用Graphics类的类的drawImage()方法在屏幕上绘制图片,然后通过定义一个线程,使该方法在屏幕上绘制图片,然后通过定义一个线程,使该线程睡眠一段时间,然后再显示另外一幅图片,如此依次线程睡眠一段时间,然后再显示另外一幅图片,如此依次显示,即可在屏幕上绘制出一系列的帧来做成运动的感觉,显示,即可在屏幕上绘制出一系列的帧来做成运动的感觉,从而达到显示动画的目的。从而达到显示动画的目的。第23页Java程序设计案例教程第11章 Java绘图与动画动画技术动画技术l在制作动画的过程中,需要注意以下两个问题:在制作动画的过程中,需要注意以下两个问题:装载图像需要时间,可能导致图像一部分一部分的显装载图像需要时间,可能导致图像一部分一部分的显示;示;屏幕会出现闪烁现象。闪烁的原因有两个,一是绘制屏幕会出现闪烁现象。闪烁的原因有两个,一是绘制每一帧花费的时间太长(因为重绘时要求的计算量大)每一帧花费的时间太长(因为重绘时要求的计算量大);二是在每次调用;二是在每次调用paint()方法之前,方法之前,Java会用背景颜会用背景颜色重画整个画面,当在进行下一帧的计算时,用户看色重画整个画面,当在进行下一帧的计算时,用户看到的是背景。到的是背景。l减弱闪烁的较好办法有两种:重载减弱闪烁的较好办法有两种:重载update()和使和使用双缓冲。用双缓冲。第24页Java程序设计案例教程第11章 Java绘图与动画重载重载update()方法方法l在在AWT组件中,当组件中,当upload方法清除组件的背景时,方法清除组件的背景时,实际是用当前的背景色重新绘制图像。重载实际是用当前的背景色重新绘制图像。重载update()方法,将以前在方法,将以前在paint()方法中的绘图代码包含方法中的绘图代码包含在在update()中,从而避免每次重绘时将整个区域中,从而避免每次重绘时将整个区域清除。所以,要消除画面闪烁就一定要重载清除。所以,要消除画面闪烁就一定要重载update()方法,使该方法不会清除整个画面,而只是消除方法,使该方法不会清除整个画面,而只是消除必要的部分。必要的部分。第25页Java程序设计案例教程第11章 Java绘图与动画使用双缓冲技术使用双缓冲技术l图像双缓冲的主要原理是创建一个后台图像,将需要绘制图像双缓冲的主要原理是创建一个后台图像,将需要绘制的一帧画入图像,然后调用的一帧画入图像,然后调用drawImage()方法将整个图像方法将整个图像一次绘制到屏幕上。这种方法的好处是大部分绘制是离屏一次绘制到屏幕上。这种方法的好处是大部分绘制是离屏的。将离屏图像一次绘制到屏幕上比直接在屏幕上绘制要的。将离屏图像一次绘制到屏幕上比直接在屏幕上绘制要有效得多,大大提高做图的性能。有效得多,大大提高做图的性能。l双缓冲可以使动画更平滑,但也有一个缺点,那就是要分双缓冲可以使动画更平滑,但也有一个缺点,那就是要分配一张后台图像,如果图像相当大,这将需要很大一块内配一张后台图像,如果图像相当大,这将需要很大一块内存。当使用双缓冲技术时,应重载存。当使用双缓冲技术时,应重载update()方法。、方法。、第26页Java程序设计案例教程第11章 Java绘图与动画动画案例动画案例第27页Java程序设计案例教程第11章 Java绘图与动画第28页主要内容主要内容11.1 传统的传统的Java绘图绘图11.2 显示图像与动画显示图像与动画11.3 JavaFX绘图与动画绘图与动画11.4 本章小结本章小结11.5 思考和练习思考和练习Java程序设计案例教程第11章 Java绘图与动画11.3 JavaFX绘图与动画绘图与动画lJavaFX自动处理渲染任务,而不需要手动处理。自动处理渲染任务,而不需要手动处理。这是这是JavaFX相对于相对于Swing所做的重要改进之一。所做的重要改进之一。在在Swing或或AWT中,要想重绘窗口,必须调用中,要想重绘窗口,必须调用repaint()方法。方法。JavaFX删除了这种繁琐的机制,因为它删除了这种繁琐的机制,因为它会跟踪场景中显示的内容,并根据需要重新显示会跟踪场景中显示的内容,并根据需要重新显示场景。这被称为保留模式。有了这种方法,就不场景。这被称为保留模式。有了这种方法,就不需要调用需要调用repaint()这样的方法。这样的方法。第29页Java程序设计案例教程第11章 Java绘图与动画绘制基本图形绘制基本图形lJavaFX的图形方法包含在的图形方法包含在java.scene.canvas包的包的GraphicsContext类中。这些方法可直接在画布的表面上类中。这些方法可直接在画布的表面上绘制基本图形。画布由绘制基本图形。画布由java.scene.canvas包中的包中的Canvas类封装。在画布上绘制完图形后,类封装。在画布上绘制完图形后,JavaFX会在需会在需要重新显示该图形的地方自动渲染。要重新显示该图形的地方自动渲染。l在画布上绘制基本图形的基本步骤如下:在画布上绘制基本图形的基本步骤如下:l(1)首先,创建一个首先,创建一个Canvas实例。实例。l(2)其次,必须获得一个引用该画布的其次,必须获得一个引用该画布的GraphicsContext对象。之后就可以使用对象。之后就可以使用GraphicsContext在画布上绘制输在画布上绘制输出出第30页Java程序设计案例教程第11章 Java绘图与动画直接在画布上绘制直接在画布上绘制lCanvas类派生自类派生自Node类,因此可以用作场景图类,因此可以用作场景图中的节点。中的节点。Canvas定义了两个构造方法。一个是定义了两个构造方法。一个是默认构造方法,另一个如下所示:默认构造方法,另一个如下所示:Canvas(double width,double height)l其中,其中,width和和height指定了画布的尺寸。指定了画布的尺寸。l为了获得引用画布的为了获得引用画布的GraphicsContext,需要调,需要调用用getGraphicsContext2D()方法。该方法返回画方法。该方法返回画布的图形上下文。布的图形上下文。lGraphicsContext定义了许多方法,可以绘制各定义了许多方法,可以绘制各种形状、文本和图片等,并且支持使用效果和变种形状、文本和图片等,并且支持使用效果和变换。换。第31页Java程序设计案例教程第11章 Java绘图与动画直接在画布上绘图直接在画布上绘图l除了使用除了使用GraphicsContext绘制各种图形以外,绘制各种图形以外,javafx.scene.shape包中还有一些用来绘制各种图形形状的类,例如包中还有一些用来绘制各种图形形状的类,例如Line、Rectangle、Circle等,它们都是等,它们都是Shape类的子类,而类的子类,而Shape又是又是Node的子类,所的子类,所以这些图形都是节点,因此可以直接成为场景图的一部分。下一节在以这些图形都是节点,因此可以直接成为场景图的一部分。下一节在学习学习JavaFX动画时会用到其中几个,到时候可以体验一下另一种创动画时会用到其中几个,到时候可以体验一下另一种创建图形的方法建图形的方法第32页Java程序设计案例教程第11章 Java绘图与动画JavaFX动画动画lJavaFX中的动画可以分为时间轴动画和过渡两种。中的动画可以分为时间轴动画和过渡两种。Timeline(时间轴时间轴)和和Transition(过滤过滤)都是都是javafx.animation.Animation的子类。的子类。l1.过渡过渡(Transitions)lJavaFX中的中的Transition提供了在一条内部时间轴上展现动提供了在一条内部时间轴上展现动画的手段。画的手段。Transition可以被组合用来创建并行或串行的可以被组合用来创建并行或串行的多重动画。多重动画。第33页Java程序设计案例教程第11章 Java绘图与动画时间轴动画时间轴动画l动画是由它的一些相关属性驱动的,例如大小、位置和颜动画是由它的一些相关属性驱动的,例如大小、位置和颜色等。色等。Timeline提供了随着时间进展更新这些属性值的能提供了随着时间进展更新这些属性值的能力。力。JavaFX支持关键帧动画支持关键帧动画(KeyFrame Animation)。在。在KeyFrame Animation中,绘图场景中,绘图场景(Graphical Scene)的动画状态的转换是由特定时间点的的动画状态的转换是由特定时间点的Scene状态的起始和状态的起始和结束快照结束快照(Key Frames,关键帧,关键帧)来定义的。系统能够自来定义的。系统能够自动执行动画。在需要时它可以停止、暂停、恢复、反转或动执行动画。在需要时它可以停止、暂停、恢复、反转或者重复动作。者重复动作。第34页Java程序设计案例教程第11章 Java绘图与动画第35页主要内容主要内容11.1 传统的传统的Java绘图绘图11.2 显示图像与动画显示图像与动画11.3 JavaFX绘图与动画绘图与动画11.4 本章小结本章小结11.5 思考和练习思考和练习Java程序设计案例教程第11章 Java绘图与动画l本章讲述了本章讲述了Java的绘图功能、图像处理以及的绘图功能、图像处理以及Java动画。动画。首先介绍了传统的首先介绍了传统的Java绘图,包括绘制简单图形和绘图,包括绘制简单图形和Java2D绘图、使用绘图、使用XOR绘图模式以及显示文本等内容。绘图模式以及显示文本等内容。然后介绍了图像处理和然后介绍了图像处理和Java动画技术,重点讲述了动画技术,重点讲述了Java动画的原理和消除闪烁的方法;最后介绍的是动画的原理和消除闪烁的方法;最后介绍的是JavaFX对对绘图和动画的支持,包括直接在画布上绘图,和使用绘图和动画的支持,包括直接在画布上绘图,和使用Shape对象创建各种图形,以及对象创建各种图形,以及JavaFX动画。绘图和动动画。绘图和动画是画是Java的比较高级的应用,由于篇幅限制,本章只是介的比较高级的应用,由于篇幅限制,本章只是介绍了一些基础内容,带领大家进入这个多彩的领域,更多绍了一些基础内容,带领大家进入这个多彩的领域,更多精彩的内容需要读者自行去学习和探究。精彩的内容需要读者自行去学习和探究。第36页11.4 本章小结本章小结Java程序设计案例教程第11章 Java绘图与动画第37页主要内容主要内容11.1 传统的传统的Java绘图绘图11.2 显示图像与动画显示图像与动画11.3 JavaFX绘图与动画绘图与动画11.4 本章小结本章小结11.5 思考和练习思考和练习Java程序设计案例教程第11章 Java绘图与动画11.5 思考和练习思考和练习l1.简述简述Graphics类中的用于绘制基本图形的方法。类中的用于绘制基本图形的方法。l2.如何在容器组件上显示文本,文本的字体和颜色如何控制?如何在容器组件上显示文本,文本的字体和颜色如何控制?l3.Graphics2D与与Graphics相比,增加了哪些功能?相比,增加了哪些功能?l4.如何加载一幅已有的图像。如何加载一幅已有的图像。l5.简述简述Java动画的原理。动画的原理。l6.减弱闪烁的较好办法有两种:减弱闪烁的较好办法有两种:和和 。l7.JavaFX中的画布由中的画布由java.scene.canvas包中的包中的 类封装。类封装。l8.JavaFX中的动画分为中的动画分为 和和 两种。两种。l9.使用本章所学内容编写一个动画时钟的程序。使用本章所学内容编写一个动画时钟的程序。l10.使用时间轴动画改写本章的使用时间轴动画改写本章的【案例案例11-6】。第38页

    注意事项

    本文(Java程序设计案例教程-第11章 Java绘图与动画.ppt)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开