android – bitmap.compress破坏图片质量

我正在使用应用程序获取gps位置并将其绘制为位图上的圆圈,然后将其保存以继续,因此我需要重复读取并保存文件.但不幸的是,当我保存文件并读取它时,文件在一些迭代后被损坏了……!代码:

File output = new File(tmpDirectory, "map.jpg");
    try {
        OutputStream outputStream = new FileOutputStream(output);
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream);
        outputStream.flush();
        outputStream.close();
    } catch (Exception ex) {
        Message("error!");
    }

    directory = tmpDirectory;//updating directory to load the manipulated image
    readFile(directory + "map.jpg", false);//setting the image view new image

包含的图像:picture after iterations
图像包括:
main image

解决方法:

JPEG使用有损压缩.这意味着每次迭代都会失去一些质量.如果你想保留它,你应该使用像PNG这样的无丢失格式.

bitmap.compress(Bitmap.CompressFormat.PNG, 100, outputStream);
上一篇:aix 扩展文件系统


下一篇:使用Python自动将PNG转换为JPG