標籤:
/**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);
android圖片縮小和放大Matrix