1. 程式人生 > >android圖片縮放(指定大小) drawable獲取圖片後怎麼設定圖片大小

android圖片縮放(指定大小) drawable獲取圖片後怎麼設定圖片大小

http://gqdy365.iteye.com/blog/1125037

android圖片縮放(指定大小)

    private Drawable zoomDrawable(Drawable drawable, int w, int h) {  
        int width = drawable.getIntrinsicWidth();  
        int height = drawable.getIntrinsicHeight();  
        Bitmap oldbmp = drawableToBitmap(drawable);  
        Matrix matrix = new Matrix();  
        float scaleWidth = ((float) w / width);  
        float scaleHeight = ((float) h / height);  
        matrix.postScale(scaleWidth, scaleHeight);  
        Bitmap newbmp = Bitmap.createBitmap(oldbmp, 0, 0, width, height,  
                matrix, true);  
        return new BitmapDrawable(null, newbmp);  
    }  
      
    private Bitmap drawableToBitmap(Drawable drawable) {  
        int width = drawable.getIntrinsicWidth();  
        int height = drawable.getIntrinsicHeight();  
        Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888  
                : Bitmap.Config.RGB_565;  
        Bitmap bitmap = Bitmap.createBitmap(width, height, config);  
        Canvas canvas = new Canvas(bitmap);  
        drawable.setBounds(0, 0, width, height);  
        drawable.draw(canvas);  
        return bitmap;  
    }  

drawable獲取圖片後怎麼設定圖片大小

http://tieba.baidu.com/p/3474453842
Bitmap originalBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.qqm);
int originalWidth = originalBitmap.getWidth();
int originalHeight = originalBitmap.getHeight();
int newWidth = 100;
int newHeight = 150; // 自定義 高度 暫時沒用


float scale = ((float) newHeight) / originalHeight;
Matrix matrix = new Matrix();
matrix.postScale(scale, scale);
Bitmap changedBitmap = Bitmap.createBitmap(originalBitmap, 0, 0,
originalWidth, originalHeight, matrix, true);
changedImageView.setImageBitmap(changedBitmap);//你的 ImageView