【问题标题】:How to reduce resolution of bitmap如何降低位图的分辨率
【发布时间】:2020-06-15 12:58:28
【问题描述】:

我有一些图像作为位图,

我想降低图像的分辨率,以便更容易使用(用于计算所有像素)。

  • 我想为不同尺寸的图片做这件事。
  • 我希望大小保持不变(当我在 imageView 中显示它时)

如何降低分辨率并创建一个新的位图来使用?

【问题讨论】:

  • 要缩小位图,可以使用jpg格式的压缩方法:compress(Bitmap.CompressFormat.JPEG, HIGH_QUALITY_COMPRESS, yourFileToSaveIt)
  • @ManuelMato 我想使用它,但我看到然后我们将它保存到一个文件中,我想再次将它用作位图。有没有简单的方法可以直接保存到位图?
  • 要降低分辨率,您必须将位图缩放到新的分辨率。压缩没有意义,因为它使分辨率保持不变。目前尚不清楚您认为位图的大小。在我看来,如果你改变分辨率,它会改变。
  • @blackapps 我有一个图像处理应用程序,我在图像上执行了一个按像素计算的算法,为了加快进程,我想在应用算法之前降低图像的分辨率.是不是更清楚了?
  • 没有。因为您不必说明为什么要降低分辨率。

标签: android android-studio bitmap resolution


【解决方案1】:

使用@blackapps 评论和使用此帖子中@Padma Kumar 的答案解决了问题 How to resize image (Bitmap) to a given size?

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;
}

现在可以了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多