本文实例讲述了Android开发之图片旋转功能实现方法。分享给大家供大家参考,具体如下:
在Android中进行图像旋转需要使用矩阵<强> >强,它包含了一个3 * 3的矩阵,专门用于进行图像变换匹配.Matrix,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放,平移,旋转等操作.Matrix没有机构体,它必须初始化,然后通过重置方法和集方法来实现。
首先介绍一下矩阵运算。加法和减法就不用说了,太简单了,对应位相加就好。图像处理,主要用到的是乘法。下面是一个乘法的公式:
包cn.edu.pku; 进口android.app.Activity; 进口android.os.Bundle; 进口android.view.KeyEvent; 公开课PictureRotateActivity延伸活动{/* *第一次被创建时调用活动。*/私人GameRotateView1 gameview=零; @Override 公共空间> 包cn.edu.pku; 进口android.content.Context; 进口android.graphics.Bitmap; 进口android.graphics.Canvas; 进口android.graphics.Matrix; 进口android.graphics.drawable.BitmapDrawable; 进口android.view.KeyEvent; 进口android.view.MotionEvent; 进口android.view.View; 公共类GameRotateView1扩展视图实现Runnable { 位图的位图=零; int bitmapWidth=0; int bitmapHeight=0; 浮动角=0.0度; 矩阵矩阵=new矩阵(); 公共GameRotateView1(上下文语境){ 超级(上下文);//TODO自动生成构造函数存根 setFocusableInTouchMode(真正的);//设置可以捕捉键盘事件//获取图像资源 位图=((BitmapDrawable) getresource () .getDrawable (R.drawable.cute)) .getBitmap (); bitmapWidth=bitmap.getWidth (); bitmapHeight=bitmap.getHeight (); 新线程(这).start (); } 公共空间run () {//TODO自动生成方法存根 而(! Thread.currentThread () .isInterrupted ()) { 尝试{ thread . sleep (100); }捕捉(InterruptedException e) {//TODO:处理异常 .interrupt Thread.currentThread () (); } postInvalidate ();//可以直接在线程中更新界面 } } @Override 保护无效alt=" Android开发之图片旋转功能实现方法【基于矩阵】“>
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android图形与图像处理技巧总结》,《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》,《Android视图视图技巧总结》,《Android布局布局技巧总结》及《安卓控件用法总结》
希望本文所述对大家Android程序设计有所帮助。