加载/保存位图时图像质量不佳

时间:2014-06-09 03:50:01

标签: android image bitmap

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

  1. 从SD卡加载JPG图像文件(1)到bitmap1
  2. 将此位图1保存到新的JPG文件(2)。
  3. 将新的JPG图像(2)文件加载到bitmap2
  4. 将bitmap2保存到新的JPG文件(3)....
  5. ....一次又一次地重复
  6. 现在我可以将位图加载/保存到文件,但问题是加载/保存后图像的质量会降低。 因此,如果我加载/保存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();
        }
    }
    

1 个答案:

答案 0 :(得分:1)

您正在重新压缩有损文件格式。您将获得图像工件。如果由于某种原因需要这样做,请使用png等无损格式。