android圖片縮小和放大Matrix


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM