如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
图形图像处理机动画设计自定义View就是继承一个View的子孙类或View类,然后重写其中的一些方法,来完成界面美观效果。Android中,可以用自定义View的技术轻松地创建定制化的控件,创造自定义的控件步骤:最开始要建立一个基于View或其子孙类的子类。在XML文件中定义属性和参数,也可以在Java代码中调用方法来设置。在界面的XML布局文件中,使用<包名.自定义View的类名>标签将自定义的View加入到界面中。如果有必要的话,需要编写事件监听器和修改一些方法。一般地,都需要重写onMeasure()和onDraw()两个方法,它们关系到自定义View中界面如何绘制。有必要的话,其他的以on开头的方法也需要重写。onDraw()方法将会传送一个Canvas对象,通过它即可在2D图形上做任何事情,任何可以想到的东西都可以通过它呈现。onMeasure()方法较为复杂一些,因为这个方法是呈现组件和容器互动的关键部分,onMeasure()应该被重写,让它能够有效且准确的表现它所包含部分的测量值。一旦测量宽度和高度出来后,就要立即调用setMeasuredDimension()方法Canvas就像手机中的画布,我可以在Canvas上绘制图形或者图片。View类的onDraw()方法会传入一个Canvas对象,用来绘制组件界面的画布。在实现onDraw()方法时,经常会调用到save()和restore()方法。save()方法用来保存Canvas的状态,保存之后,可以调用Canvas中的位移、缩放、旋转和裁剪等操作;restore()方法可以恢复Canvas之前保存的状态,防止save()后对Canvas的操作会对后续绘制有所影响。save()和restore()要同时使用,如果restore()的调用次数比save()多,会发生错误Paint类拥有样式与颜色信息,主要是有关于如何绘制几何图形、文字及位图的方法。voidsetARGB(inta,intr,intg,intb)设置Paint对象颜色,参数一为alpha透明通道。voidsetFakeBoldText(booleanfakeBoldText)是否设置伪粗体文本voidsetLinearText(booleanlinearText)设置线性文本voidsetTextSize(floattextSize)设置字体大小Bitmap可以获取图像文件信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。可以使用下面的几种方法获取位图:通过BitmapFactory的各种静态方法根据资源文件创建:根据图片创建:通过Drawable对象,步骤如下:使用BitmapDrawable(InputStreamis)构造一个BitmapDrawable;使用BitmapDrawable类的getBitmap()获取得到位图;BitmapDrawable也提供了显示位图等操作。通过资源(Resources)需要先得到Resources对象,然后调用openRawResource()方法获取输入流,并将该流传给一个BitmapDrawable对象,然后调用Bitmap对象的getBitmap()方法得到位图要获取位图信息,比如位图大小、是否包含透明度、颜色格式等,获取得到Bitmap在Bitmap中对RGB颜色格式使用定义,仅包括ALPHA_8、ARGB_4444、ARGB_8888和RGB_565四种。Bitmap还提供了compress()接口来压缩图片,不过AndroidSAK只支持PNG、JPG格式的压缩。显示位图需要使用核心类Canvas,可以直接通过Canvas类的drawBirmap()显示位图,或者借助于BitmapDrawable来将Bitmap绘制到Canvas。Android提供了两种位图缩放的方法:drawBitmap(Bitmapbitmap,Rectsrc,Rectdst,Paintpaint)将一个位图按照需求重画一遍,画后的位图就是我们需要的了,与位图的显示几乎一样。createBitmap(Bitmapsource,intx,inty,intwidth,intheight,Matrixm,booleanfilter)在原有位图的基础上,缩放原位图,创建一个新的位图。通过Matrix,可以控制Android绘图坐标的位移、旋转、缩放等功能。Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种,每一种变换在Android的API里都提供了set、post和pre三种操作方式,除了translate,其他三种