Android的Matrix类简介

Matrix:

图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,他对图片的处理分为四个基本类型:

1、Translate————平移变换

2、Scale————缩放变换

3、Rotate————旋转变换

4、Skew————错切变换

操作方式:

set(用于设置Matrix中的值)、

pre(先乘,相当于矩阵中的右乘),

post(后乘,根据矩阵的原理,相当于左乘)、

除了translate,旋转、缩放和倾斜都可以指定中心点。如果不指定,默认情况下,是围绕(0,0)点来进行。

这里要点一下前乘和后乘的区别,矩阵的乘法不满足交换率,所以两种乘法的结果不一样。

在图像处理中,越靠近右边的矩阵越先执行,所以pre(也就是先的意思)所设置的矩阵T(Scale,Rotation也是一样的)就会先于其一开始设置的

Scale执行,而post(后的意思)的因为是左乘,所以它会放在最左边,那么就会最后执行。

举例:要将一个图片旋转30度,然后平移到(100,100)的地方

  1. Matrix m =newMatrix();
  2. m.postRotate(30);//先转再平移
  3. m.postTranslate(100,100);
  4. Matrix m =newMatrix();
  5. m.setTranslate(100,100);//先移动到位置再转
  6. m.preRotate(30);
时间: 2024-08-01 10:45:31

Android的Matrix类简介的相关文章

Android提供的LruCache类简介[转载]

转自:here 1 package android.util; 2 3 import java.util.LinkedHashMap; 4 import java.util.Map; 5 6 /** 7 * A cache that holds strong references to a limited number of values. Each time 8 * a value is accessed, it is moved to the head of a queue. When a

[Android] 使用Matrix矩阵类对图像进行缩放、旋转、对比度、亮度处理

    前一篇文章讲述了Android拍照.截图.保存并显示在ImageView控件中,该篇文章继续讲述Android图像处理技术,主要操作包括:通过打开相册里的图片,使用Matrix对图像进行缩放.旋转.移动.对比度.亮度.饱和度操作,希望对大家有所帮助. 一. 显示打开图片     首先,设置activity_main.xml布局如下所示: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android

Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介

Android 网络编程相关的包 : 9 包, 20 接口, 103 类, 6 枚举, 14异常; -- Java包 : java.net 包 (6接口, 34类, 2枚举, 12异常); -- Android包 : android.net 包 (1接口, 19类, 3枚举, 1异常), android.net.http 包 (6类), android.net.nsd 包 (3接口, 2类), android.net.rtp (4类), android.net.sip 包 (1接口, 9类, 1

Android中的Matrix类介绍

Matrix顾名思义就是大学的线性代数中的矩阵,关于矩阵的基本知识和加减乘除运算这里不再赘述. Android中的Matrix类是一个比较简单的3x3的3阶矩阵,结构如下: float matrix = {MSCALE_X, MSKEW_X, MTRANS_X, MSKEW_Y, MSCALE_Y, MTRANS_Y, MPERSP_0, MPERSP_1, MPERSP_2 }; 结构如上:其中 MSCALE_X和MSCALE_Y分别是控制X轴和Y轴方向的缩放,MSKEW_X和MSKEW_Y是

android application类简介(一)

每次应用程序运行时,应用程序的application类保持实例化的状态.通过扩展applicaiton类,可以完成以下3项工作: 1.对android运行时广播的应用程序级事件如低低内做出响应. 2.在应用程序组件之间传递对象(全局变量). 3.管理和维护多个应用程序组件使用的资源. 其中,后两项工作通过使用单例类来完成会更好.application会在创建应用程序进程的时候实例化. 下面是扩展Application的示例代码: import android.app.Application; p

Android Matrix类以及ColorMatri

引自:http://www.chinabaike.com/t/37396/2014/0624/2556217.html Android Matrix类以及ColorMatrix类详解 最近在系统学习了android的图像处理(在网上搜集了一些资料并自己编写了测试程序,做了整理),现在这里做一总结: 一.ColorMatrix类 ColorMatrix是一个5x4阶的矩阵 在下面表示为A,第一行表示R红色分量,第二行表示G绿色分量,第三行表示B蓝色分量,第四行表示透明度: 用一维数组的存储方式如下

android.graphics.Matrix

Matrix类包含了一个3x3的矩阵用来改变坐标,它没有一个构造器来初始化它里边的内容,所以创建实例后需要调用reset()方法生成一个标准matrix,或者调用set..一类的函数,比如setTranslate, setRotate,,该函数将会决定matrix如何来改变坐标.SDK里边没有讲述Matrix的3x3矩阵是如何改变点的坐标值的,但是我在代码里边通过打印那9个点的值时,大致可以得到如下结论,9个值[a,b,c,d,e,f,g,h,i],坐标[x,y],当g=0,h=0,i=1,的时

开源项目Universal Image Loader for Android 说明文档 (1) 简介

 When developing applications for Android, one often facesthe problem of displaying some graphical content from the Internet. So, youshould provide image loading from the Web in an Android app, their processingand displaying with limited memory aga

【转】Android 网络通信框架Volley简介(Google IO 2013)

Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded 1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Go