Matrix的操作,总共分为scale(缩放),translate(平移),rotate(旋转),和skew(倾斜)四种,对应Android有四种post方法(postScale,postTranslate,postRotate,postSkew)可以对Bitmap图片进行相应处理。
代码片段如下:
/**
* 转换bitmap
*
* @param srcBitmap 源bitmap
* @return 转换后的bitmap
*/
public static Bitmap convertBitmap(Bitmap srcBitmap) {
if (srcBitmap == null) {
return null;
}
int width = srcBitmap.getWidth();
int height = srcBitmap.getHeight();
Matrix matrix = new Matrix();
// 缩放,如:postScale(-1, 1)表示水平方向镜像处理
// postScale(0.5, 0.5)表示XY方向都缩小到原来的一半
matrix.postScale(-1, 1);
// 平移(dx,dy)
// matrix.postTranslate(10, 10);
// 旋转90°
// matrix.postRotate(90);
// 倾斜(dx,dy)
// matrix.postSkew(10, 10);
return Bitmap.createBitmap(srcBitmap, 0, 0, width, height, matrix, true);
}