《Android图形处理》PPT课件

《Android图形处理》PPT课件

ID:36627771

大小:403.10 KB

页数:20页

时间:2019-05-09

《Android图形处理》PPT课件_第1页
《Android图形处理》PPT课件_第2页
《Android图形处理》PPT课件_第3页
《Android图形处理》PPT课件_第4页
《Android图形处理》PPT课件_第5页
资源描述:

《《Android图形处理》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、内容Android图形系统概述Adnroid动画处理Frame动画Tween动画Copyright2010ByNeusoftGroup.AllrightsreservedAndroid图形系统概述Android中的图形系统采用Client/Server架构。SurfaceFlinger在整个图形系统中担任server角色,它负责将各个surface根据Zorder合成(composer)起来。负责Surface的建立、控制、管理等功能。Surface在Android中的本意是提供一个供显示使用的界面,其他程序可以在这个界面上进行显示输出。Surface系统可以实现多层的Surfac

2、e,这样对于每一个程序调用者,都可以认为是在独有的界面上进行绘制;而多层次的叠加和管理,则由Surface系统来完成。View及其子类(如TextView,Button,ImageView)要画在surface上。每个surface创建一个Canvas对象,用来管理view在surface上的绘图操作,如画点画线。每个canvas对象对应一个bitmap,存储画在surface上的内容。Copyright2010ByNeusoftGroup.AllrightsreservedAndroid图形系统概述Skia是Google一个底层的图形,图像,动画,SVG,文本等多方面的图形库,它

3、是Android中图形系统的引擎。最主要的API是SkCanvas类。Android图形系统概述对于2D图形处理,Android并没有使用Java的图形处理类,而是自定义了一系列的2D图形处理类,这些类分别位于android.graphics,android.graphics.drawable.shapes和android.view.animation包中。对于3D图形的处理,Android集成了OpenGLES提供的高效3D图形处理技术,这些类分别位于javax.microedition.khronos.opengles和android.opengl包中。Copyright201

4、0ByNeusoftGroup.AllrightsreservedAndroid图形系统概述Android系统中的图形处理基本上可以分为两类:一类是静态图形处理,也就是这些图片不经常变化,例如,一些图标,logo等,针对这些图形的处理,一般是将图形作为资源文件添加到工程当中,然后通过各种Drawable类来处理使用。另一类是动态图形处理,也就是这些图片要经常变化(包括大小,位置,形状等)需要不断地进行绘制。例如翻书效果。Android动画处理现有的Android动画框架是建立在View的级别上的。要了解Android动画是如何画出来的,我们首先要了解Android的View是如何组

5、织在一起,以及他们是如何画自己的内容的。Android动画处理DecorView是window的Top-levelView,称之为主View。是整个ViewTree的根节点。DecorView会缺省的attach到Activity的主窗口中。ViewRoot不是View,它本质上是一个Handler,ViewRoot是建立主View与WindowsManger通讯的桥梁。Android动画处理Android动画处理递归的绘制整个窗口需要按顺序执行以下几个步骤绘制背景如果需要,保存画布(canvas)的层(Layer),为淡入或淡出做准备;绘制View本身的内容,通过调用View.o

6、nDraw(canvas)函数实现.绘制自己的孩子(通常也是一个view系统),通过dispatchDraw(canvas)实现,参看ViewGroup.Java中的代码可知,dispatchDraw->drawChild->child.draw(canvas)这样的调用过程被用来保证每个子View的draw函数都被调用,通过这种递归调用从而让整个View树中的所有View的内容都得到绘制。在调用每个子View的draw函数之前,需要绘制的View的绘制位置是在Canvas通过translate函数调用来进行切换的,窗口中的所有View是共用一个Canvas对象如果需要,绘制淡入淡

7、出相关的内容并恢复保存的画布所在的层(layer)绘制修饰的内容(例如滚动条).备注:当一个ChildView要重画时,它会调用其成员函数invalidate()函数将通知其ParentView这个ChildView要重画,这个过程一直向上遍历到ViewRoot,当ViewRoot收到这个通知后就会调用上面提到的ViewRoot中的draw函数从而完成绘制。Android动画处理一种是Tween动画,这种实现方式可以使视图组件平移、缩放、旋转以及产生透明度的变化;另外

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。