Bitmap切割图片(根据控件大小调整图片宽高比)-FenGKun

该方法用于根据ImageView的宽高比调整Bitmap的尺寸。首先获取Bitmap的原始宽高和ImageView的宽高比,然后计算两者之间的比例关系。如果比例相等,直接返回Bitmap;若控件宽高比大于图片,调整高度;反之,则调整宽度。通过Canvas和Rect对象进行裁剪和绘制,确保Bitmap适应ImageView的显示需求。
摘要由CSDN通过智能技术生成
 /**
     * 调整图片宽高比
     */
    private Bitmap AdjustBitmapSize(ImageView iv, Bitmap bitmap) {
        Bitmap resizeBmp;
        
        // 获取控件的宽高
        int width = bitmap.getWidth(); 
        int height = bitmap.getHeight(); 
        
        // 控件宽高比
        float viewAspectRatio = ((float)iv.getWidth()) / iv.getHeight();
        // 图片宽高比
        float bitmapAspectRatio = ((float)bitmap.getWidth()) / bitmap.getHeight();
        
        // 宽高比相等,直接使用
        if (viewAspectRatio == bitmapAspectRatio) {
            resizeBmp = bitmap;
        }
        // 控件宽高比大于图片宽高比,调整高度
        else if (viewAspectRatio > bitmapAspectRatio) {
            height = (int) (width / viewAspectRatio);
            
            resizeBmp = Bitmap.createBitmap(width, height, Config.RGB_565);
            Canvas canvas = new Canvas(resizeBmp);
            Rect src = new Rect(0, (bitmap.getHeight() - height) / 2, bi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值