问题描述
我有一张要在Picasso中加载的图像,该图像我想在没有缩放比例的情况下裁剪。 这可能吗?
例如,如果我有:
- 400x800的图像
- 200x400的图像视图
我所见过的有关裁剪的任何问题都建议使用resize(x,y).centreCrop(alignGravity)
(即缩放和裁剪,而不仅仅是裁剪)。
在该示例中,您将整个图像缩放为50%,正如centreCrop
的JavaDoc所提到的:
我想显示图像的中间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()
之后使用。