设置图片在规定范围中间

本文介绍了一种方法,用于将位图(Bitmap)图片按比例缩放并居中放置到指定宽度和高度的画布上。该方法首先检查原始图片尺寸是否小于目标尺寸,如果是,则创建一个新的画布,并在新画布上绘制背景颜色,再将原始图片居中绘制到新画布上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Bitmap centerToFit(Bitmap bitmap, int width, int height, Context context) {

        final int bitmapWidth = bitmap.getWidth();

        final int bitmapHeight = bitmap.getHeight();

 

        if (bitmapWidth < width || bitmapHeight < height) {

            int color = context.getResources().getColor(R.color.window_background);

 

            Bitmap centered = Bitmap.createBitmap(bitmapWidth < width ? width : bitmapWidth,

                    bitmapHeight < height ? height : bitmapHeight, Bitmap.Config.RGB_565);

            centered.setDensity(bitmap.getDensity());

            Canvas canvas = new Canvas(centered);

            canvas.drawColor(color);

            canvas.drawBitmap(bitmap, (width - bitmapWidth) / 2.0f, (height - bitmapHeight) / 2.0f,

                    null);

 

            bitmap = centered;

        }

 

        return bitmap;

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值