资源描述:
《android图形图像使用总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Android图形图像使用总结一.图形特效(一)特效的实现方式在Android中,提供了3种方式实现特效,setXXX方法,postXXX和preXXX()方法。1.setXXX方法用于直接设置Matrix的值,每使用一次setXXX()方法,整个的Matrix都会变掉。2.postXXX方法用于采用后乘的方式为Matrix设置值,可以连续多次使用post完成多个变换3.preXXX方法用于采用前乘的方式为Matrix设置值,使用preXXX方法的设置操作最先发生.(二)特效的表现形式1・旋转:setRotate(floa
2、tdgrees,floatpx,floatpy)px、py为旋转的轴心2•缩放:setScale(floatsx.floatsy)sx和sy用于指定x轴和轴y轴的缩放比例Android提供了android.graphics・Matrix类白勺seetScale(),postScale()和preScale()方法可对图像进行缩放.这三个方法除了方法名不同外,其它的语法格式均相同1•倾斜setSkew(floatkx.floatky)ky和ky用于指定x轴和轴y轴的倾斜量Android提供了android.graphics.
3、Matrix类的setSkew()(),postSkew0和preSkew()方法可对图像进行倾斜.这三个方法除了方法名不同外,其它的语法格式均相同setSkew(floatsx,floatsy,floatpx,floatpy)px和py是以它们为轴心进行倾斜2.平移setTranslate(floatdx.floatdy)dy和dy用于指定移动到的位置的x和y的坐标Android提供了android,graphics.Matrix类的setTranslate(),postTranslate()和preTranslate(
4、)方法可对图像进行平移•这三个方法除了方法名不同外,其它的语法格式均相同一.BitmapShader渲染图像在android中BitmapShader类主要用来渲染图像,如果需要将一张图片裁剪成椭圆或者圆形等形状显示到屏幕上时,就可以使用BitmapShader类来实现,使用BitmapShader类来渲染图像的基本步骤如下创建BitmapShader类的对象,通过Paint的setShader()方法来设置渲染对象.在绘制图像时,使用已经设置了setShader()方法的画笔.一.下面是一个图形特效控制的一个示例程序通过
5、按键来控制图像的放大缩小、旋转、倾斜。(一)自定义的View的代码package1esson10fragmentfordata.myapplication;importandroid・content.Context;importandroid・graphics・Bitmap;importandroid・graphics.BitmapFactory;importandroid.graphics.Canvas;importandroid,graphics.Matrix;importandroid・ut订.AttributeSe
6、t;importandroid.view・KeyEvent;importandroid,view.View;/***图像特效的演示*/pub1icclassMyViewextendsView{//定义Bitmap对象Bitmapbitmap;//创建矩阵对象Matrixmatrix=newMatrix();//宽和高intwidth,height;〃缩放比例floatscale=If;//图像的状态是缩放还是旋转BooleanisScale=false;判断是否旋转BooleanistRotate=false;//x轴方向
7、倾斜的角度privatefloatsx;「V旋转的角度privatefloatdegress;〃重写俩个构造方法publicMyView(Contextcontext){super(context);initViewO;}publicMyView(Contextcontext,AttributeSetattrs){super(context,attrs);initViewO;}/***初始化数据*/privatevoidinitViewO{〃获取位图bitmap=getContext().getResources()8、tDrawable(R.mipmap.imgOl);bitmap=BitmapFactory.decodeNesource(getResources(),R・mipmap.a3);//获取宽和高width=bitmap.getWidth();height=bitmap.getHeight();〃使当前的