/**Bitmap放大的方法*/
private static Bitmap big(Bitmap bitmap) {
Matrix matrix = new Matrix();
matrix.postScale(1.5f,1.5f); //长和宽放大缩小的比例
Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
return resizeBmp;
}
/**Bitmap缩小的方法*/
private static Bitmap small(Bitmap bitmap) {
Matrix matrix = new Matrix();
matrix.postScale(0.8f,0.8f); //长和宽放大缩小的比例
Bitmap resizeBmp = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
return resizeBmp;
}
// 绘制图片
int saveCount = canvas.getSaveCount();
canvas.save();
canvas.translate(pLeft, pTop); //画布画笔起点位置
if (item.matrix != null) {
canvas.concat(item.matrix); //画布添加matrix矩阵
}
// 设置该图绘制的区域, 图片的绘制区域参数会跟随matrix参数的scale 同步放大缩小,比如如果绘制起点是100px处同时matrix.scale=0.5
// 则实际绘制中绘制起点在50px处
canvas.clipRect(item.rect);
// 绘制三张图片
// canvas.drawBitmap()中绘制起点位置随matrix参数的scale 同步放大缩小,比如如果绘制起点是100px处同时matrix.scale=0.5
// 则实际绘制中绘制起点在50px处
canvas.drawBitmap(item.bitmap,
item.rect.left, item.rect.top, mPaint);
canvas.restoreToCount(saveCount);