| 方法名称 | 功能描述 |
| — | — |
| Matrix() | 创建一个唯一的Matrix对象 |
| setRotate(float degrees) | 将Matrix对象围绕(0,0)旋转degrees度 |
| setRotate(float degrees,float px,float py) | 将Matrix对象围绕(px,py)旋转degrees度 |
| setScale(float sx,float sy) | 对Maria对象进行缩放,参数sx代表x轴上的缩放比例,sy代表y轴上的缩放比例 |
| setScale(float sx,float sy,float px,float py) | 让Matrix对象以(px,py)为轴心,在x轴上缩放sx,在y轴上缩放sy |
| setSkew(float kx,float ky) | 让Matrix对象倾斜,在x轴上倾斜kx,在y轴上倾斜ky |
| setSkew(float kx,float ky,float px,float py) | 让Matrix对象以(px,py)为轴心,在x轴上倾斜kx,在y轴上倾斜ky |
| setTranslate(float dx,float dy) | 平移Matrix对象,(dx,dy)为Matrix平移后的坐标 |
为了更好掌握方法的使用,通过一段示例代码为图片添加旋转特效:
Matrix matrix = new Matrix();//创建Matrix对象
matrix.setRotate(30);//设置Matrix旋转30度
一:旋转图像
使用Android提供的android.graphics.Matrix类的setRotate(float degrees)方法对图像进行旋转。在MainActivity中创建名为MyView的内部类,刚刚强调到在创建Canvas类时需要继承View类,并添加构造方法和重写onDraw(Canvas canvas)方,在里面进行作图:
首先定义一个画笔,绘制一张背景图像,然后在(0,0)点的位置绘制要旋转图像的原图,再绘制以(0,0)点为轴心旋转30度的图像
背景图像和原图放在res\drawable的目录下:
继承view类的函数:包括重写onDraw(Canvas canvas)方法:
public class MyView extends View{
public MyView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}<