android 根据固定的宽度或高度等比例缩放图片

根据固定的宽度或高度缩放图片,当图片的宽度大于高度时,按照宽度的固定值等比例缩放,当图片的高度大于宽度时,按高度的固定值等比例缩放;

public static Bitmap getImageThumbnail(String imagePath, int width,
                                           int height) {
        Bitmap bitmap = null;
        BitmapFactory.Options options = new BitmapFactory.Options();
        options.inJustDecodeBounds = true;
        // 获取这个图片的宽和高,注意此处的bitmap为null
        bitmap = BitmapFactory.decodeFile(imagePath);
        options.inJustDecodeBounds = false; // 设为 false
//        bitmap = adjustPhotoRotation(bitmap,1);
        //解决三星手机获取系统照片自动横屏显示的问题
        int degree = readPictureDegree(imagePath);
        bitmap = rotaingImageView(degree,bitmap);

        float scale;
        if(bitmap.getWidth()>=bitmap.getHeight()){
            scale = width/(float)bitmap.getWidth();
        }else{
            scale = height/(float)bitmap.getHeight();
        }

        Matrix matrix = new Matrix();
        matrix.setScale(scale, scale);

        bitmap = Bitmap.createBitmap(bitmap,0,0,bitmap.getWidth(),bitmap.getHeight(),matrix,true);
        return bitmap;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值