图片变换【Matrix】矩阵 简介
Matrix矩阵介绍
- MSCALE_X = 0; X缩放
- MSKEW_X = 1; X错切
- MTRANS_X = 2; X移动
- MSKEW_Y = 3; Y错切
- MSCALE_Y = 4; Y缩放
- MTRANS_Y = 5; Y移动
- MPERSP_0 = 6; 透视,透视就是观察的角度变化了。导致投射到平面上的二维图像变化了。
- MPERSP_1 = 7; 透视
- MPERSP_2 = 8; 透视
关于错切

操作示例
常用API
- public Matrix():Create an identity matrix 单位矩阵
- public Matrix(Matrix src):根据提供的矩阵创建一个新的矩阵。Create a matrix that is a (deep) copy of src
- set(Matrix src):复制。(deep) copy the src matrix into this matrix.
- setValues(float[]):用指定的值进行初始化
- getValues(float[]):通过把拿到的矩阵值赋给传入的数组。Copy 9 values from the matrix into the array.
- reset:重置矩阵为单位矩阵。Set the matrix to identity
- invert(Matrix inverse):反转、倒置。如果能反转就返回true并将反转后的值写入inverse,否则返回false。【当前矩阵*inverse=单位矩阵】
- setTranslate(float dx,float dy):控制Matrix进行平移。右下为正
- setSkew(float kx,float ky):控制Matrix以(0,0)为中心进行错切,kx、ky为X、Y方向上的比例
- setRotate(float degrees):控制Matrix以(0,0)为中心进行depress角度的旋转,顺时针为正
- setSinCos(float sinValue, float cosValue):不指定旋转角度,而是指定旋转角度对应的sin和cos值,比如,向右旋转90°时,对应的sin值为sin90°=1,对应的con值为cos90°=0。不指定中心点时的中心点为(0,0)。Set the matrix to rotate by the specified指定的 sine and cosine values, with a pivot中心点 point at (px, py).
- setScale(float sx,float sy):设置Matrix以(0,0)为中心进行缩放,sx、sy为X、Y方向上的缩放比例。如果为负,那么会将该图像绘制到坐标系统的负值空间
- 除平移变换外,旋转变换、缩放变换和错切变换都可以围绕一个中心点来进行,如果不指定,在默认情况下是围绕(0, 0)来进行相应的变换的。
- 以上的set方法(除了setSinCos方法),均有对应的post和pre方法。其中pre表示在队头插入一个方法(相当于矩阵中的右乘),post表示在队尾插入一个方法(相当于矩阵中的左乘),而set表示把当前队列清空,并且总是位于队列的最中间位置。
- 当执行了一次set后,前面所有的set、pre、post都将清空,后续的pre方法总是插入到set前部的队列的最前面,post方法总是插入到set后部的队列的最后面。
- Matrix调用一系列set、pre、post方法时,可视为将这些方法插入到一个队列,最后按照队列中从头至尾的顺序调用执行。
- isIdentity():判断是否是单位矩阵
- isAffine():判断是否是仿射矩阵,只要最后一行是0,0,1则是仿射矩阵。
- rectStaysRect():判断该矩阵是否可以将一个矩形依然变换为一个矩形。当矩阵是单位矩阵,或者只进行平移,缩放,以及旋转90度的倍数的时候,返回true。Returns true if will map a rectangle to another rectangle.
- setConcat(Matrix a, Matrix b):将当前matrix的值变为a和b的乘积。Set the matrix to the concatenation关联 of the two specified matrices and return true.
Matrix方法表
图片变换【Matrix】矩阵 简介的更多相关文章
- 图片变换 矩阵 Bitmap Matrix
Matrix矩阵介绍 在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,内部就是个一维数组,内部有9个元素:可以通过setValues( float[])进 ...
- 【CSS3】 理解CSS3 transform中的Matrix(矩阵)
理解CSS3 transform中的Matrix(矩阵) by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu ...
- 理解CSS3 transform中的Matrix(矩阵)
一.哥,我被你吓住了 打架的时候会被块头大的吓住,学习的时候会被奇怪名字吓住(如“拉普拉斯不等式”).这与情感化设计本质一致:界面设计好会让人觉得这个软件好用! 所以,当看到上面“Matrix(矩阵) ...
- 理解CSS3 transform中的Matrix(矩阵)——张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2427 一.哥,我被你 ...
- [Android] 使用Matrix矩阵类对图像进行缩放、旋转、对照度、亮度处理
前一篇文章讲述了Android拍照.截图.保存并显示在ImageView控件中,该篇文章继续讲述Android图像处理技术,主要操作包含:通过打开相冊里的图片,使用Matrix对图像进行缩放. ...
- 前端matrix矩阵的变化
css3 transform中的matrix矩阵 CSS3中的矩阵CSS3中的矩阵指的是一个方法,书写为matrix()和matrix3d(),前者是元素2D平面的移动变换(transform), ...
- css3 transform中的matrix矩阵
CSS3中的矩阵CSS3中的矩阵指的是一个方法,书写为matrix()和matrix3d(),前者是元素2D平面的移动变换(transform),后者则是3D变换.2D变换矩阵为3*3, 如上面矩阵示 ...
- Android图片加载框架最全解析(五),Glide强大的图片变换功能
大家好,又到了学习Glide的时间了.前段时间由于项目开发紧张,再加上后来又生病了,所以停更了一个月,不过现在终于又可以恢复正常更新了.今天是这个系列的第五篇文章,在前面四篇文章的当中,我们已经学习了 ...
- Leetcode 566. Reshape the Matrix 矩阵变形(数组,模拟,矩阵操作)
Leetcode 566. Reshape the Matrix 矩阵变形(数组,模拟,矩阵操作) 题目描述 在MATLAB中,reshape是一个非常有用的函数,它可以将矩阵变为另一种形状且保持数据 ...
随机推荐
- bzoj 1176 CDQ分治
思路:首先我们将问题转换一下,变成问在某个点左下角的权值和,那么每一个询问可以拆成4的这样的询问,然后 进行CDQ 分治,回溯的时候按x轴排序,然后用树状数组维护y的值. #include<bi ...
- 《Android虚拟机》--内存分配策略
No1: Java在内存分配时会涉及到以下区域: 寄存器:我们在程序中无法控制 栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 堆:存放用new产生的数据 静态域:存放在对 ...
- Java多线程编程——volatile关键字
(本篇主要内容摘自<Java多线程编程核心技术>) volatile关键字的主要作用是保证线程之间变量的可见性. package com.func; public class RunThr ...
- king's trouble II SCU - 4488
Time Limit: 1000 MS Memory Limit: 131072 K Description Long time ago, a king occupied a vast territo ...
- 安卓 listView 优化
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha 韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_m ...
- 2017-2018-1 JAVA实验站 冲刺 day02
2017-2018-1 JAVA实验站 冲刺 day02 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 写博客.进行工作总结 100% 齐力锋 找背景音乐.开始界面图片.按钮图片.按钮 ...
- [BZOJ5361]/[HDU6291]对称数
[BZOJ5361]/[HDU6291]对称数 题目大意: 一个\(n(n\le2\times10^5)\)个结点的树,每个结点有一个权值\(a_i(a_i\le2\times10^5)\),\(m( ...
- bzoj 1269 bzoj 1507 Splay处理文本信息
bzoj 1269 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1269 大致思路: 用splay维护整个文本信息,splay树的中序遍历即为 ...
- 10.十进制转m进制
时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将十进制数n转换成m进制数 m<=16 n<=1 ...
- 某DP题目2
题意: 有一个栈,有n个数1~n按顺序插进栈中,但弹出顺序不定.另有m个限制,表示为a b,即数a必须在数b弹出之前弹出.问有多少种弹出的方案数.n <= 300,m <= 90000 分 ...