微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

毕加索能否在不缩放图像的情况下裁剪图像?

如何解决毕加索能否在不缩放图像的情况下裁剪图像?

我有一张要在Picasso中加载的图像,该图像我想在没有缩放比例的情况下裁剪。 这可能吗?

例如,如果我有

  • 400x800的图像
  • 200x400的图像视图

我所见过的有关裁剪的任何问题都建议使用resize(x,y).centreCrop(alignGravity)(即缩放和裁剪,而不仅仅是裁剪)。

在该示例中,您将整个图像缩放为50%,正如centreCrop的JavaDoc所提到的:

这种裁剪技术会缩放图像,使其填充请求的边界,然后裁剪多余的图像,并优先选择alignGravity上的内容

我想显示图像的中间200x400像素,并且完全失去边缘(类似于ImageMagick's crop would work的方式)。

有没有不缩放就可以种植的方法

解决方法

所以似乎是开箱即用的,不是的,但是您可以使用Picasso Transformations库来做到这一点:

implementation 'jp.wasabeef:picasso-transformations:2.4.0'

然后:

Picasso.get()
       .load(largeImage)
       .transform(new CropTransformation(width,height,GravityVertical.CENTER,GravityVertical.CENTER))
       .into(imageView,/* callback */);

如果您使用的是resize()centreCrop(),则需要在调用transform()之后使用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。