




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2015年1月第八章图形图像处理及动画设计 2015年1月第八章图形图像处理及动画设计1图形图像处理机动画设计WWW.TEDU.CN图形图像处理机动画设计WWW.TEDU.CN2自定义View就是继承一个View的子孙类或View类,然后重写其中的一些方法,来完成界面美观效果。Android中,可以用自定义View的技术轻松地创建定制化的控件,创造自定义的控件步骤:最开始要建立一个基于View或其子孙类的子类。在XML文件中定义属性和参数,也可以在Java代码中调用方法来设置。在界面的XML布局文件中,使用<包名.自定义View的类名>标签将自定义的View加入到界面中。如果有必要的话,需要编写事件监听器和修改一些方法。一般地,都需要重写onMeasure()和onDraw()两个方法,它们关系到自定义View中界面如何绘制。有必要的话,其他的以on开头的方法也需要重写。
图形图像处理及动画设计
自定义View自定义View就是继承一个View的子孙类或View类,然后3onDraw()方法将会传送一个
Canvas
对象,通过它即可在2D图形上做任何事情,任何可以想到的东西都可以通过它呈现。onMeasure()
方法较为复杂一些,因为这个方法是呈现组件和容器互动的关键部分,onMeasure()应该被重写,让它能够有效且准确的表现它所包含部分的测量值。一旦测量宽度和高度出来后,就要立即调用setMeasuredDimension()
方法
图形图像处理及动画设计
自定义ViewonDraw()方法将会传送一个
Canvas
对象,通过它4Canvas就像手机中的画布,我可以在Canvas上绘制图形或者图片。View类的onDraw()方法会传入一个Canvas对象,用来绘制组件界面的画布。在实现onDraw()方法时,经常会调用到save()和restore()方法。save()方法用来保存Canvas的状态,保存之后,可以调用Canvas中的位移、缩放、旋转和裁剪等操作;restore()方法可以恢复Canvas之前保存的状态,防止save()后对Canvas的操作会对后续绘制有所影响。save()和restore()要同时使用,如果restore()的调用次数比save()多,会发生错误
图形图像处理及动画设计
图像处理Canvas就像手机中的画布,我可以在Canvas上绘制图形5Paint类拥有样式与颜色信息,主要是有关于如何绘制几何图形、文字及位图的方法。voidsetARGB(inta,intr,intg,intb)设置Paint对象颜色,参数一为alpha透明通道。voidsetFakeBoldText(booleanfakeBoldText)是否设置伪粗体文本voidsetLinearText(booleanlinearText)设置线性文本voidsetTextSize(floattextSize)设置字体大小
图形图像处理及动画设计
Paint(画笔)Paint类拥有样式与颜色信息,主要是有关于如何绘制几何图形6Bitmap可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。可以使用下面的几种方法获取位图:通过BitmapFactory的各种静态方法根据资源文件创建:根据图片创建:
图形图像处理及动画设计
Bitmap(位图)Bitmapbmp=BitmapFactory.decodeResource(this.getResources(),R.drawable.bmsrc);Bitmapbmp=BitmapFactory.decodeFile("/sdcard/dcoim/pets.jpeg")Bitmap可以获取图像文件信息,进行图像剪切、旋转、缩放等7通过Drawable对象,步骤如下:使用BitmapDrawable(InputStreamis)构造一个BitmapDrawable;使用BitmapDrawable类的getBitmap()获取得到位图;BitmapDrawable也提供了显示位图等操作。通过资源(Resources)需要先得到Resources对象,然后调用openRawResource()方法获取输入流,并将该流传给一个BitmapDrawable对象,然后调用Bitmap对象的getBitmap()方法得到位图
图形图像处理及动画设计
Bitmap(位图)通过Drawable对象,步骤如下: 图形图像处理及动画设计8要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获取得到Bitmap在Bitmap中对RGB颜色格式使用Bitmap.Config定义,仅包括ALPHA_8、ARGB_4444、ARGB_8888和RGB_565四种。Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩。
图形图像处理及动画设计
获取位图信息要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获9显示位图需要使用核心类Canvas,可以直接通过Canvas类的drawBirmap()显示位图,或者借助于BitmapDrawable来将Bitmap绘制到Canvas。Android提供了两种位图缩放的方法:drawBitmap(Bitmapbitmap,Rectsrc,Rectdst,Paintpaint)将一个位图按照需求重画一遍,画后的位图就是我们需要的了,与位图的显示几乎一样。createBitmap(Bitmapsource,intx,inty,intwidth,intheight,Matrixm,booleanfilter)在原有位图的基础上,缩放原位图,创建一个新的位图。
图形图像处理及动画设计
缩放和旋转位图显示位图需要使用核心类Canvas,可以直接通过Canvas10通过Matrix,可以控制Android绘图坐标的位移、旋转、缩放等功能。Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种,每一种变换在Android的API里都提供了set、post和pre三种操作方式,除了translate,其他三种操作都可以指定中心点。
图形图像处理及动画设计
Matrix(矩阵)通过Matrix,可以控制Android绘图坐标的位移、旋转11Android动画WWW.TEDU.CNAndroid动画WWW.TEDU.CN12ViewAnimator的作用是为FrameLayout里面的View切换提供动画效果。ViewAnimator类有几个和动画相关的方法:setInAnimation(AnimationinAnimation):设定View进入屏幕时候使用的动画。setOutAnimation(AnimationoutAnimation):设定View退出屏幕时候使用的动画。一般使用AnimationUtils.loadAnimation(getApplicationContext(),android.R.anim.slide_in_left)来获得对应的动画效果。showNext():调用此方法显示Layout里面的下一个View。showPrevious():调用此方法显示Layout里面的上一个View。
图形图像处理及动画设计
Android动画开发入门ViewAnimator的作用是为FrameLayout里面13补间动画作用于View对象,主要包括对View对象的位置、尺寸、旋转角度和透明的变换。补间动画涉及的类包括Animation的几个子类如:AlphaAnimationTranslateAnimationScaleAnimationRotateAnimation
图形图像处理及动画设计
补间动画——TweenAnimation补间动画作用于View对象,主要包括对View对象的位置、尺14逐帧动画主要用到的类是AnimationDrawable,通过它的addFrame(Drawableframe,intduration)方法,将Drawable对象放到这个AnimationDrawable中,并设定跳转时间,然后将AnimationDrawable对象设置成ImageView的背景(使用ImageView的setBackgroundDrawable()方法),最后,调用start()方法启动它,注意不能在onCreate()方法中调用它。如果想让其循环播放,可以调用setOneShot(false)
图形图像处理及动画设计
逐帧动画——FrameAnimation逐帧动画主要用到的类是AnimationDrawable,通15可以使用程序控制补间动画的绘制,也可以使用配置文件来做设置,它主要有下面这些设置:XML标记和属性透明度尺寸变化位置变换旋转
图形图像处理及动画设计
补间动画——TweenAnimation可以使用程序控制补间动画的绘制,也可以使用配置文件来做设置,16Thanks!关注达内科技官方微信获取最新资讯WWW.TEDU.CNThanks!关注达内科技官方微信获取最新资讯WW17
2015年1月第八章图形图像处理及动画设计 2015年1月第八章图形图像处理及动画设计18图形图像处理机动画设计WWW.TEDU.CN图形图像处理机动画设计WWW.TEDU.CN19自定义View就是继承一个View的子孙类或View类,然后重写其中的一些方法,来完成界面美观效果。Android中,可以用自定义View的技术轻松地创建定制化的控件,创造自定义的控件步骤:最开始要建立一个基于View或其子孙类的子类。在XML文件中定义属性和参数,也可以在Java代码中调用方法来设置。在界面的XML布局文件中,使用<包名.自定义View的类名>标签将自定义的View加入到界面中。如果有必要的话,需要编写事件监听器和修改一些方法。一般地,都需要重写onMeasure()和onDraw()两个方法,它们关系到自定义View中界面如何绘制。有必要的话,其他的以on开头的方法也需要重写。
图形图像处理及动画设计
自定义View自定义View就是继承一个View的子孙类或View类,然后20onDraw()方法将会传送一个
Canvas
对象,通过它即可在2D图形上做任何事情,任何可以想到的东西都可以通过它呈现。onMeasure()
方法较为复杂一些,因为这个方法是呈现组件和容器互动的关键部分,onMeasure()应该被重写,让它能够有效且准确的表现它所包含部分的测量值。一旦测量宽度和高度出来后,就要立即调用setMeasuredDimension()
方法
图形图像处理及动画设计
自定义ViewonDraw()方法将会传送一个
Canvas
对象,通过它21Canvas就像手机中的画布,我可以在Canvas上绘制图形或者图片。View类的onDraw()方法会传入一个Canvas对象,用来绘制组件界面的画布。在实现onDraw()方法时,经常会调用到save()和restore()方法。save()方法用来保存Canvas的状态,保存之后,可以调用Canvas中的位移、缩放、旋转和裁剪等操作;restore()方法可以恢复Canvas之前保存的状态,防止save()后对Canvas的操作会对后续绘制有所影响。save()和restore()要同时使用,如果restore()的调用次数比save()多,会发生错误
图形图像处理及动画设计
图像处理Canvas就像手机中的画布,我可以在Canvas上绘制图形22Paint类拥有样式与颜色信息,主要是有关于如何绘制几何图形、文字及位图的方法。voidsetARGB(inta,intr,intg,intb)设置Paint对象颜色,参数一为alpha透明通道。voidsetFakeBoldText(booleanfakeBoldText)是否设置伪粗体文本voidsetLinearText(booleanlinearText)设置线性文本voidsetTextSize(floattextSize)设置字体大小
图形图像处理及动画设计
Paint(画笔)Paint类拥有样式与颜色信息,主要是有关于如何绘制几何图形23Bitmap可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。可以使用下面的几种方法获取位图:通过BitmapFactory的各种静态方法根据资源文件创建:根据图片创建:
图形图像处理及动画设计
Bitmap(位图)Bitmapbmp=BitmapFactory.decodeResource(this.getResources(),R.drawable.bmsrc);Bitmapbmp=BitmapFactory.decodeFile("/sdcard/dcoim/pets.jpeg")Bitmap可以获取图像文件信息,进行图像剪切、旋转、缩放等24通过Drawable对象,步骤如下:使用BitmapDrawable(InputStreamis)构造一个BitmapDrawable;使用BitmapDrawable类的getBitmap()获取得到位图;BitmapDrawable也提供了显示位图等操作。通过资源(Resources)需要先得到Resources对象,然后调用openRawResource()方法获取输入流,并将该流传给一个BitmapDrawable对象,然后调用Bitmap对象的getBitmap()方法得到位图
图形图像处理及动画设计
Bitmap(位图)通过Drawable对象,步骤如下: 图形图像处理及动画设计25要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获取得到Bitmap在Bitmap中对RGB颜色格式使用Bitmap.Config定义,仅包括ALPHA_8、ARGB_4444、ARGB_8888和RGB_565四种。Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩。
图形图像处理及动画设计
获取位图信息要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获26显示位图需要使用核心类Canvas,可以直接通过Canvas类的drawBirmap()显示位图,或者借助于BitmapDrawable来将Bitmap绘制到Canvas。Android提供了两种位图缩放的方法:drawBitmap(Bitmapbitmap,Rectsrc,Rectdst,Paintpaint)将一个位图按照需求重画一遍,画后的位图就是我们需要的了,与位图的显示几乎一样。createBitmap(Bitmapsource,intx,inty,intwidth,intheight,Matrixm,booleanfilter)在原有位图的基础上,缩放原位图,创建一个新的位图。
图形图像处理及动画设计
缩放和旋转位图显示位图需要使用核心类Canvas,可以直接通过Canvas27通过Matrix,可以控制Android绘图坐标的位移、旋转、缩放等功能。Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种,每一种变换在Android的API里都提供了set、post和pre三种操作方式,除了translate,其他三种操作都可以指定中心点。
图形图像处理及动画设计
Matrix(矩阵)通过Matrix,可以控制Android绘图坐标的位移、旋转28Android动画WWW.TEDU.CNAndroid动画WWW.TEDU.CN29ViewAnimator的作用是为FrameLayout里面的View切换提供动画效果。ViewAnimator类有几个和动画相关的方法:setInAnimation(AnimationinAnimation):设定View进入屏幕时候使用的动画。setOutAnimation(AnimationoutAnimation):设定View退出屏幕时候使用的动画。一般使用AnimationUtils.loadAnimation(getApplicationContext(),android.R.anim.slide_in_left)来获得对应的动画效果。showNext():调用此方法显示Layout里面的下一个View。showPrevious():调用此方法显示Layout里面的上一个Vie
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024抚州职业技术学院辅导员招聘笔试真题
- 征求意见表2:文成县糯米山药种植与加工技术规程
- 2025年应急救生系统项目合作计划书
- Recycle 1(第1课时) 教案人教pep英语六年级上册
- 绘画语言及其在创作过程中的思想研究
- 6~9的加、减法第4课时 练一练 教案 2025人教版数学一年级上册
- 在班队活动中重塑“爱的教育”
- 2024年深圳市光明区水务局招聘专干真题
- 2025年江苏省第十届大学生就业创业知识竞赛考试练习题库(150题)【答案】
- 2025年江油市招聘属公费师范毕业生考试试题【答案】
- 2025年《铁道概论》考试复习题库(含答案)
- 2025农商行借款合同模板
- 工商业光伏项目可行性研究报告
- 2025年福建福州地铁春季校园招聘105人笔试参考题库附带答案详解
- 二零二五年度特色美食街项目投资合作协议3篇
- 人教版(2025新版)七年级下册数学第七章 相交线与平行线 单元测试卷(含答案)
- 装修工程满堂脚手架施工方案
- 夫妻婚内财产约定协议书范本(2025年)
- 2025年中医师承合同范本文字
- 0-3岁婴幼儿感觉统合训练知到智慧树章节测试课后答案2024年秋杭州师范大学
- 抑酸药课件教学课件
评论
0/150
提交评论