【问题标题】:Resize image to fit screen size and resolution in Android [duplicate]调整图像大小以适应Android中的屏幕尺寸和分辨率[重复]
【发布时间】:2013-10-09 06:37:47
【问题描述】:

我有一个 Android 应用程序来显示带有 viewPager 的图像。图片尺寸固定,因此在某些 Android 设备中,根据屏幕尺寸和屏幕分辨率,它们会显示为空白边框。

有没有办法调整图像大小以适应屏幕?

不能在项目中放置超过一种尺寸的图像,因为我有超过 500 张图像。

【问题讨论】:

  • 你有没有为你的 ImageView 尝试过android:scaleType="..."

标签: android image resolution resize-image


【解决方案1】:
Bitmap scaledBitmap = scaleDown(realImage, MAX_IMAGE_SIZE, true);

缩小方法

public static Bitmap scaleDown(Bitmap realImage, float maxImageSize,
        boolean filter) {
    float ratio = Math.min(
            (float) maxImageSize / realImage.getWidth(),
            (float) maxImageSize / realImage.getHeight());
    int width = Math.round((float) ratio * realImage.getWidth());
    int height = Math.round((float) ratio * realImage.getHeight());

    Bitmap newBitmap = Bitmap.createScaledBitmap(realImage, width,
            height, filter);
    return newBitmap;
}

【讨论】:

  • 谢谢,它的工作,但分辨率变得非常糟糕有没有另一种方法来做到这一点,以尽量减少像素模糊的损失
  • 您可以根据需要手动设置其宽度和高度,只需将图像大小除以手动数字(如 4 或 5)即可。@KhaledHayek
  • 那么,如果最后一种方法可以制作多张图片,那么所需的分辨率是多少??
  • 分辨率完全取决于您的要求,您可以按照我在上面的评论中所说的进行设置。@KhaledHayek
  • 我可以在这里给出 MAX_IMAGE_SIZE 是 KB 还是 MB?你能告诉我最好的例子吗..
【解决方案2】:

您应该尝试不同的 scaleTypes 可用。 The documentation can be found here 和(我更喜欢)here is a very nice collection of examples 这些 scaleType 的样子。

如果你只是想让你的图片被拉伸而不在乎失去纵横比,你可能想要使用scaleType: fitXY

【讨论】:

  • 这也适用于我,但是当我旋转屏幕时,它变得非常糟糕并且被拉伸了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-21
相关资源
最近更新 更多