1、Matrix 矩阵
http://www.jb51.net/article/37095.htm这里介绍很详细
2、Bitmap切图
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
/**
* 图片切片类并绘制图片的类
*
* @author Administrator
*
*/
public class ImageRect {
/**
* 图片切块位图
*/
Bitmap myRect;
/**
* 声明画笔
*/
Paint p = new Paint();
/**
* 某个切片图的九宫格中的XY坐标
*/
int xLine, yLine;
/**
* 声明切片图的宽高
*/
public static int rectW, rectH;
/**
* 切片类的构造方法
*
* @param currentImg
* 具体切的是哪一张图
* @param size
* 这个图的难度即:3,4,5
* @param id
* 小图片对应整张图的位置
*/
public ImageRect(Bitmap currentImg, int size, int id) {
// {0,1,2}
// {3,4,5}
// {6,7,8}
xLine = id % size;
yLine = id / size;
// 通过图片宽高获取到的小图片的宽高
rectW = currentImg.getWidth() / size;
rectH = currentImg.getHeight() / size;
if (id == size * size - 1) {
// 最后一张图片是白色的
myRect = Bitmap.createBitmap(rectW, rectH, Bitmap.Config.ARGB_8888);
Canvas tempC = new Canvas(myRect);
tempC.drawColor(Color.WHITE);
} else {
// 把对应的小图片的位图创建出来
myRect = Bitmap.createBitmap(currentImg, rectW * xLine, rectH
* yLine, rectW, rectH);
}
}
// 画图片
public void paint(Canvas cc, int x, int y, Paint p) {
cc.drawBitmap(myRect, x, y, p);
}
}