zuobiao.png
默认.jpg
private Camera camera = new Camera();
private Matrix matrix = new Matrix();
@Override
protected void onDraw(Canvas canvas) {
matrix.reset();
//涉及到矩阵变换,和canvas同样的,我们使用save和restore对矩阵保存和恢复
camera.save();
//往x,y,z方向分别平移100像素
camera.translate(100, 100, 100);
//每次我们都要获取下矩阵
camera.getMatrix(matrix);
camera.restore();
canvas.drawBitmap(bitmap, matrix, mPaint);
}
x,y,z轴平移100像素.jpg
@Override
protected void onDraw(Canvas canvas) {
matrix.reset();
//涉及到矩阵变换,和canvas同样的,我们使用save和restore对矩阵保存和恢复
camera.save();
//往x,y,z方向分别平移100像素
//camera.translate(100, 100, 100);
//绕x轴旋转45度
camera.rotateX(45);
//每次我们都要获取下矩阵
camera.getMatrix(matrix);
camera.restore();
canvas.drawBitmap(bitmap, matrix, mPaint);
}
绕x轴45度.jpg
@Override
protected void onDraw(Canvas canvas) {
matrix.reset();
//涉及到矩阵变换,和canvas同样的,我们使用save和restore对矩阵保存和恢复
camera.save();
//往x,y,z方向分别平移100像素
//camera.translate(100, 100, 100);
//绕x轴旋转45度
camera.rotateX(45);
//每次我们都要获取下矩阵
camera.getMatrix(matrix);
camera.restore();
//矩阵前乘
matrix.preTranslate(-bitmap.getWidth() / 2f,-bitmap.getHeight() / 2f);
//矩阵后乘
matrix.postTranslate(bitmap.getWidth() / 2f,bitmap.getHeight() / 2f);
canvas.drawBitmap(bitmap, matrix, mPaint);
}
图片中心旋转45度.jpg