`
lijuanabc
  • 浏览: 125890 次
社区版块
存档分类
最新评论

android Matrix.setRotate 和 postRotate的区别

 
阅读更多

今天在做一个模拟时钟的项目时,需要对指针进行旋转操作。开始使用的是setRotate()方法对指针图片进行旋转操作,之后又需要对指针进行位移,又使用了setTranslate()方法,发现旋转效果没有了,只有平移效果了。自己研究了半天,终于发现了问题的原因所在。

其实Matrix方法中的setRotate()方法会先清除该矩阵,即设为单位矩阵。之后设置旋转操作的,同样,setTranslate()等方法也是一样的。所以是不能叠加各种效果在一起的,因此会出现我上述的问题。

所以,如果是想多种效果同时使用的话,用postRotate(), postTranslate()等类似的矩阵变换方法吧。

分享到:
评论

相关推荐

    Android应用源码之Matrix.zip

    2. **组合变换**:可以使用postTranslate(), postScale(), postRotate() 和 postSkew() 或 preTranslate(), preScale(), preRotate() 和 preSkew() 方法将多个变换连续应用到Matrix上,形成复合变换。 3. **应用变换...

    Android经典设计例程源码-Matrix.rar

    《Android经典设计例程源码-Matrix》是一个深入学习Android应用开发的重要资源,它涵盖了Matrix类在Android系统中的使用和实现。Matrix类是Android图形处理中的核心类之一,主要用于图像的变换,包括缩放、旋转、平...

    应用源码之Matrix.zip

    2. **组合操作**:Android中的Matrix支持复合变换,可以通过postRotate(), preRotate(), postScale(), preScale(), postTranslate(), preTranslate()等方法进行后追加或前置组合操作。这些方法会将当前矩阵与指定的...

    Android-使用Matrix对Bitmap进行处理

    而Matrix则是Android图形系统中的一个关键类,它允许我们对图像进行各种变换操作,如旋转、缩放、平移和倾斜等。这个教程将深入探讨如何在Android中利用Matrix对Bitmap进行处理。 首先,我们需要了解Bitmap的基本...

    Android_Matrix

    在Android开发中,`Matrix`类扮演着至关重要的角色,它是图像处理和图形变换的核心工具。这个类基于线性代数中的矩阵概念,允许开发者执行各种图像操作,如平移、旋转、缩放和倾斜。下面我们将深入探讨`Matrix`类的...

    Android_Matrix基础+详解

    ### Android_Matrix基础+详解 #### 一、矩阵基础理论 在深入探讨Android中`Matrix`类的应用之前,我们首先需要理解矩阵的基本概念及其在图像处理中的应用。 **矩阵定义**: 矩阵是由数字按行和列排列而成的一个...

    Android 随手势进行3D旋转的源码.zip源码资源下载

    4. 应用`Matrix.setRotate()`或`Matrix.postRotate()`方法,将旋转矩阵应用到视图的绘制矩阵上。 5. 在`SurfaceView`或`OpenGL ES`中,根据更新后的矩阵重新绘制3D场景。 此外,可能还会涉及到`ObjectAnimator`或`...

    3d旋转效果

    可以通过调用Matrix.setRotate()或Matrix.postRotate()方法,指定围绕X、Y或Z轴的旋转角度。 4. **绘制3D对象**:在onDrawFrame()回调中,使用GLSurfaceView的GLRenderer,将更新后的模型矩阵传递给OpenGL ES,执行...

    bitmap绘图,旋转,添加水印

    为解决这个问题,可以先计算出水印的旋转中心点,然后使用Matrix的setRotate()方法指定旋转中心和角度,再进行绘制: ```java float centerPointX = watermarkWidth / 2f; float centerPointY = watermarkHeight / ...

    android之仿相册系统(用Matrix实现).zip

    - Matrix有多种方法,如setTranslate()、setScale()、setRotate()等,用于设置不同的变换属性。 3. **使用Matrix实现图片缩放和旋转** - `setImageMatrix(Matrix)`:在ImageView中应用Matrix进行图像显示。 - `...

    android相册系统(用Matrix实现).zip

    `setIdentity()`方法可以将Matrix设置为单位矩阵,`set()`和`setRotate()`, `setScale()`, `setTranslate()`等方法用于设置特定的变换。 2. **矩阵运算**:Matrix支持乘法运算,多个变换可以通过矩阵乘法组合。例如...

    利用Android的Matrix类实现J2ME的drawRegion的镜像方法

    在Android开发中,Matrix类是用于处理二维图形变换的核心工具,它可以执行平移、旋转、缩放和倾斜等操作。这篇博文"利用Android的Matrix类实现J2ME的drawRegion的镜像方法"探讨了如何在Android环境中复现J2ME的`...

    安卓Android源码——安卓图片旋转放大缩写透明度调整例子.zip

    要旋转图片,首先创建一个Matrix对象,然后调用setRotate()方法设置旋转角度,最后将Matrix应用到Bitmap上。例如: ```java Matrix matrix = new Matrix(); matrix.postRotate(90); // 顺时针旋转90度 Bitmap ...

    安卓开发-安卓图片旋转放大缩写透明度调整例子.zip

    首先,我们需要创建一个Matrix对象,然后调用其setRotate方法设置旋转角度。接着,使用Bitmap.createBitmap(Bitmap src, int x, int y, int width, int height, Matrix matrix, boolean filter)方法,将原始Bitmap与...

    android相册系统(用Matrix实现)-IT计算机-毕业设计.zip

    首先,Matrix类的构造函数允许创建一个新的空矩阵,然后可以通过set()方法设置特定的变换,如setTranslate()、setScale()、setRotate()等,用于完成基本的位移、缩放和旋转操作。此外,postTranslate()、postScale()...

    安卓Andriod源码——相册系统(用Matrix实现).zip

    在Android操作系统中,相册应用是用户日常使用的重要组成部分,用于查看、管理及分享手机上的图片和视频。本文将深入探讨使用Matrix实现的Android相册系统,并解析其背后的关键技术与设计思路。 Matrix在Android中...

    Android中使用Matrix控制图形变换和制作倒影效果的方法

    最近在使用Matrix进行绘图的操作。对Matrix的一些方法有了一些更深的体会,记下来,以便日后复习。 Matrix常用的方法: 一、变换方法: Matrix提供了translate(平移)、rotate(旋转)、scale(缩放)、skew(倾斜)四种...

Global site tag (gtag.js) - Google Analytics