对图像的变换操作有translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种。Android里面的Matrix(android.graphics.Matrix,不是opgl.Matrix)提供了对应的四种操作的操作方法。其中对应每种操作都有三种接口setXX, preXX,postXX。setXX将使整个matrix的值为设置的值。preXX是将新的变换矩阵左乘原来的矩阵,而postXX是将新的变换矩阵右乘原来的变换矩阵。preXX的操作将在所有当前操作最后执行,而postXX的操作将在所有当前操作的最后执行。(这是因为设对给定的图像依次进行了基本变化F1、F2、F3…..、Fn,它们的变化矩阵分别为T1、T2、T3…..、Tn,图像复合变化的矩阵T可以表示为:T = TnTn-1…T1。)
下面介绍几个基本函数的用法:
setRotate(float degrees) :直接使图片旋转一定的角度,负数为向左旋转,正数为向右旋转。
setTranslate(float dx, float dy) 使图片平移
setScale(float sx, float sy) 使图片缩放
setSkew(float kx, float ky) 使图片倾斜
setRotate(float degrees, float px, float py) 使图片以某一点为中心旋转
reset() 是矩阵变为单位矩阵,即图片保持不变
对应上述的所有函数,都有相应的preXX和postXX版本,它们所对应的功能如上所述。下面是一个简单的例子。
setRotate(30,a,b)的功能是将图片以(a,b)为中心向右旋转30°。
下面可以用preXX来完成相应的功能:
matrix.setTranslate(a,b);
matrix.preRotate(30);
matrix.preTranslate(-a,-b);
从意义上来说可以理解为将图片平移(-a,-b),然后向右旋转30°,最后再将旋转后的图片平移(a,b)即可完成将图片以(a,b)向右旋转30°的功能。
分享到:
相关推荐
总的来说,Android的Matrix类为我们提供了强大的图像变换能力,可以灵活地处理Bitmap。在进行图像处理时,理解Matrix的工作原理以及如何与Bitmap结合使用是非常重要的。这不仅可以提升应用的视觉效果,还能够实现...
理解并熟练运用Matrix进行图像变换是Android开发中的必备技能,尤其在处理自定义视图、动画和图形渲染时。通过灵活组合这些基本变换,可以创造出各种复杂的视觉效果,提升用户体验。在实践中,可以编写一个简单的...
总结来说,"Android Matrix demo"是一个展示如何在Android应用程序中使用Matrix进行图像变换的实例。Matrix类是图形变换的核心工具,通过它可以实现图像的平移、旋转、缩放和倾斜等效果。开发者可以通过阅读提供的...
#### 二、Matrix与图像变换 在Android中,`Matrix`类被广泛应用于图像的几何变换中,它通常是一个3x3的矩阵。通过不同的变换操作,可以实现图像的各种动态效果,如缩放、平移、旋转和错切等。 ##### 2.1 平移变换 ...
总的来说,Android中的Matrix类提供了丰富的图像变换功能,结合ImageView和Bitmap,我们可以实现各种复杂的图像操作,如缩放和平移。理解并熟练运用Matrix,可以极大地提升Android应用中图像处理的灵活性和用户体验...
Matrix的乘法操作在图像变换中非常关键,因为多个变换可以通过矩阵乘法组合成一个单一的变换。例如,先旋转后平移,可以先调用`postRotate()`然后`postTranslate()`,反之亦然,先平移后旋转则可以先调用`...
在Android中,`android.graphics.Matrix`类提供了一系列方便的方法来处理这些变换。 ##### 2.1 旋转操作 例如,要使图像旋转90度,可以使用`setRotate`方法: ```java Matrix matrix = new Matrix(); matrix....
在Android中,为我们提供一些封装好的方法可以进行一些简单的图像操作,总共分为rotate(旋转),scale(缩放),translate(平移)和skew(倾斜)四种,每一种变换都提供了set, post和pre三种操作方式,除了translate,其他...
2. **几何变换**:使用`Matrix`对图像进行平移、旋转、缩放和倾斜,以创建动态效果。 3. **组合变换**:可能同时应用`ColorMatrix`和`Matrix`,实现色彩变化与几何变形的组合效果。 4. **实时预览**:在用户交互中...
在Android中进行图像旋转需要使用Matrix,它包含了一个3*3的矩阵,专门用于进行图像变换匹配。Matrix ,中文里叫矩阵,高等数学里有介绍,在图像处理方面,主要是用于平面的缩放、平移、旋转等操作。Matrix没有机构...
在Android开发中,Matrix类是图像处理中的核心组件,它提供了对二维图像变换的功能,如旋转、缩放、平移等。本资料“Android应用源码之Matrix.zip”旨在帮助开发者深入理解Android Matrix类的内部实现和应用。下面将...
Matrix类在Android图形处理中扮演着重要角色,它是一个3x3的矩阵,用于进行2D变换,如平移、旋转、缩放和倾斜等。本教程将深入讲解如何利用Matrix实现图片的旋转与缩放。 首先,我们需要了解Matrix的基本操作。在...
2. **图像变换**:在Android的Bitmap类中,我们可以使用Matrix进行图像的变换操作。例如,当用户选择图片后,可能需要根据屏幕尺寸调整图片大小,或者实现旋转、翻转等效果。Matrix可以很好地完成这些任务,通过`...
在进行图像变换时,只需改变这些值即可实现不同的效果。 二、Matrix的平移 平移操作是通过改变TransX和TransY的值来完成的。例如,若要将点P0(x0, y0)平移到P(x, y),只需设置x = x0 + Δx, y = y0 + Δy,对应的...
`Matrix`类是Android中用于处理图像变换的核心类之一,它主要用于定义一系列的二维图形变换,如平移、缩放、旋转等。`Matrix`类提供了多种方法来进行这些变换操作,如`preScale()`、`postScale()`、`preRotate()`、`...
#### 二、Android中的Matrix类使用详解 **2.1 Android图形系统中的Matrix类** `android.graphics.Matrix`类提供了许多方法来实现上述各种变换,例如`setTranslate()`、`setScale()`、`setRotate()`等。 **2.2 ...
Matrix是Android图形系统中的一个关键类,它允许我们对坐标系统进行变换,包括平移、旋转、缩放等。 首先,我们需要理解Matrix的工作原理。Matrix是一个3x3的矩阵,它可以表示2D图形的各种变换。在Android中,我们...
Bitmap和Matrix是Android系统提供的两个核心类,用于处理图像和实现图像的变换。Matrix类提供了丰富的功能,可以用来对图像进行平移、缩放、旋转等操作。在本篇中,我们将深入探讨如何使用Bitmap和Matrix来动态旋转...
在Android开发中,Matrix类是用于处理2D图形变换的核心工具,它允许开发者对图像进行旋转、平移、缩放和倾斜等操作。本篇将深入探讨Matrix的矩阵变换,特别是`set`、`preScale`和`postScale`方法的区别。 首先,...
在Android开发中,Matrix类是用于图像变换的重要工具,它允许开发者执行各种操作,如平移、缩放、旋转和翻转等。Matrix类是基于线性代数中的矩阵概念,通过对二维空间中的点进行线性变换来实现图像处理。 在基础...