/**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);
