Android开发之图片旋转功能实现方法【基于矩阵】

  

本文实例讲述了Android开发之图片旋转功能实现方法。分享给大家供大家参考,具体如下:

  

在Android中进行图像旋转需要使用矩阵<强> 强,它包含了一个3 * 3的矩阵,专门用于进行图像变换匹配.Matrix,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放,平移,旋转等操作.Matrix没有机构体,它必须初始化,然后通过重置方法和集方法来实现。

  

首先介绍一下矩阵运算。加法和减法就不用说了,太简单了,对应位相加就好。图像处理,主要用到的是乘法。下面是一个乘法的公式:

  

 Android开发之图片旋转功能实现方法【基于矩阵】“> </p>
  <p>在安卓里面,矩阵由9个浮动值构成,是一个3 * 3的矩阵。如下图。</p>
  <p> <img src=   包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程序设计有所帮助。

Android开发之图片旋转功能实现方法【基于矩阵】