Picasso处理图片,按照设置的宽度比例来缩放

   Picasso.with(UIUtils.getContext())
                    .load(serviceInShopPageListBean.getServiceDownUrl())
                    .transform(transformation)
                    .into(imageview);

    Transformation transformation = new Transformation() {


        @Override
        public Bitmap transform(Bitmap source) {

            int targetWidth = imageview.getWidth();
            if (source.getWidth() == 0) {
                return source;
            }
            //如果图片大小大于等于设置的宽度,则按照设置的宽度比例来缩放
            double aspectRatio = (double) source.getHeight() / (double) source.getWidth();
            int targetHeight = (int) (targetWidth * aspectRatio);
            if (targetHeight != 0 && targetWidth != 0) {
                Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false);
                if (result != source) {
                    // Same bitmap is returned if sizes are the same
                    source.recycle();
                }
                return result;
            } else {
                return source;
            }

        }

        @Override
        public String key() {
            return "transformation" + " desiredWidth";
        }
    };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值