将图片居中剪裁为正方形,并画圆角

本文介绍了一种方法,用于将加载完成的图片裁剪成正方形,并保持原图的宽高比。通过计算中心正方形的位置并使用Bitmap.createBitmap进行裁剪,最后将裁剪后的图片设置为ImageView的显示内容。

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

    public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
        // 以图片较短的边为边长
        int length = loadedImage.getHeight() > loadedImage.getWidth() ? loadedImage.getWidth() : loadedImage.getHeight();
        // 计算  中心以length为边长的正方形  的左上方 x 轴坐标
        int x = length == loadedImage.getWidth() ? 0 : (loadedImage.getWidth() - length) / 2;
        // 计算  中心以length为边长的正方形  的左上方 y 轴坐标
        int y = length == loadedImage.getHeight() ? 0 : (loadedImage.getHeight() - length) / 2;
        // 截取出新的正方形图片
        Bitmap newBitmap = Bitmap.createBitmap(loadedImage, x, y, length, length);// 参数 1:原始图片(Bitmap)、2:截取开始的 x 轴坐标、3:截取开始的 y 轴坐标、4:截取的宽度、5:截取的高度
        ((ImageView)view).setImageDrawable(new RoundedBitmapDisplayer.RoundedDrawable(newBitmap, Math.round(10
                * context.getResources().getDisplayMetrics().density), 0));
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值