跟随屏幕大小自动调整bitmap大小(横竖屏拍摄的照片均可)

在一个项目中用到了全屏显示bitmap,由前面的从图库或是直接拍照获得的图片是经过压缩的,这里就说一下怎么调整bitmap的样式大小

 public static Bitmap resizeImage(Bitmap originalBitmap) {
        int width = originalBitmap.getWidth();
        int height = originalBitmap.getHeight();
        //screenWidth为手机屏幕的宽
        //screenHeight为手机屏幕的高
        float scanleWidth = 0;
        float scanleHeight = 0;
        if (width > height) {
            //横屏的图片
            if (width > screenWidth / 2) {
                scanleWidth = (float) ((float) screenWidth / (float) width );
                scanleHeight = scanleWidth;
            } else {
                scanleWidth = (float) screenWidth / (float) 2 / (float) width;
                scanleHeight = scanleWidth;
            }

        }
        if (width <= height) {
            //竖屏的图片
            if (width >= screenWidth / 2) {
                scanleWidth = (float) ((float) screenWidth / (float) width);
                
                scanleHeight = scanleWidth;
            } else {
                scanleWidth = (float) screenWidth / (float) 2 / (float) width;
                scanleHeight = scanleWidth;
            }
        }
       

        //操作图片使用的matrix对象 Matrix
        Matrix matrix = new Matrix();
        // 缩放图片动作
       
        matrix.postScale(scanleWidth, scanleHeight);


        //旋转图片 动作
//        matrix.postRotate(45);
        // 创建新的图片Bitmap
        Bitmap resizedBitmap = Bitmap.createBitmap(originalBitmap, 0, 0, width, height, matrix, true);
        // 用完了记得回收
//        resizedBitmap.recycle();
        return resizedBitmap;
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值