【问题标题】:Bad image quality when load/save bitmap加载/保存位图时图像质量不佳
【发布时间】:2014-06-09 12:11:45
【问题描述】:

我正在使用位图,有一些问题需要帮助: 我的应用程序如下:

  1. 从 SD 卡加载 JPG 图像文件(1) 到 bitmap1
  2. 将此位图1 保存到新的JPG 文件(2)。
  3. 将新的 JPG 图片(2) 文件加载到 bitmap2
  4. 将 bitmap2 保存到新的 JPG 文件(3) ....
  5. ....重复一遍又一遍

现在我可以将位图加载/保存到文件,但问题是加载/保存后图像质量降低。 因此,如果我确实加载/保存内容 10 次,那么我的图像就会变得丑陋。 这是我的代码:

private void saveBitmapToFile(String imgPath) {

    Log.e("Filename-----------------", imgPath);

    // Decode image file to bitmap
    BitmapFactory.Options options = new BitmapFactory.Options();
    // options.inPreferredConfig = Bitmap.Config.ARGB_8888;
    Bitmap bitmap = BitmapFactory.decodeFile(imgPath, options);

    // Get filename
    long currentMili = System.currentTimeMillis();
    currentName = currentMili + "";
    String filePath = FOLDER_PATH + currentMili + ".jpg";

    // Save bitmap to new file
    try {

        File file = new File(filePath);
        FileOutputStream fOut = new FileOutputStream(file);
        bitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
        fOut.flush();
        fOut.close();
    } catch (Exception e) {

        e.printStackTrace();
    }
}

【问题讨论】:

标签: android image bitmap


【解决方案1】:

您正在重新压缩有损文件格式。你会得到图像伪影这样做。如果您出于某种原因需要这样做,请使用 png 等无损格式。

【讨论】:

  • 感谢您的帮助。但是我不能使用PNG,因为我必须在图像的exif中添加一些信息(PNG不支持)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-26
  • 1970-01-01
  • 2020-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-16
相关资源
最近更新 更多