这是一个概念性的Android问题
假设图像是600px×200px。(宽度高度)
说我的图像视图我尝试将其装入300 px×200px(宽度高度)
我只想按高度缩放并剪切图像的左端,以使图像适合图像视图。此外,如果不需要进行切割(已经适合),我也不想将其切断。
所以最终ImageView(如果它是300像素×200像素)会保留这个图像
我看了Scale To Fit但是没有任何比例类型似乎达到了这种自定义效果。有谁知道我会怎么做?在我的情况下,我不想保持原始的宽高比。
答案 0 :(得分:1)
您应裁剪位图,使其始终适合您的ImageView。如果你想要右下角裁剪,你可以做类似的事情:
if (needsCropping()) {
int startWidth = originalImage.getWidth() - 300;
int startHeight = originalImage.getHeight() - 200;
Bitmap croppedBitmap = Bitmap.createBitmap(originalImage, startWidth, startHeight, width, height);
// TODO set imageview
}
答案 1 :(得分:0)
FIT_END会这样做: 计算将保持原始src宽高比的比例,但也将确保src完全适合dst。至少一个轴(X或Y)将完全适合。 END将结果与dst的右边和底边对齐。
您可以使用ScaleType.CENTER_CROP但这不会以任何方式重新缩放图像。
这些的任何组合都是不可能的,因为你必须拥有自己的缩放方法(继承ImageView)。
或者,简单的方法是将.9PNG作为图像的来源,它可以适应任何空间而不会失真。