在Android中保存JPEG文件,不会丢失像素信息

时间:2012-02-08 15:07:58

标签: java android bitmap jpeg

我正在通过BitmapFactory加载一个jpeg文件并尝试再次保存(后来我想在再次保存之前对像素数据进行一些计算)。

但如果我尝试用

保存它
FileOutputStream fos = new FileOutputStream(new File("/sdcard/test.jpg"));
originalImage.compress(Bitmap.CompressFormat.JPEG, 100, fos);

然后它与原始图片中的结果不完全相同。有些像素有不同的颜色值,这对我以后的计算没有用。

是否有可能安全无损?或者当我用

加载图片时问题已经存在
Bitmap originalImage = BitmapFactory.decodeFile("/sdcard/input.jpg");
之前几行?

1 个答案:

答案 0 :(得分:5)

  

是否有可能安全无损?

没有。 JPEG格式使用有损压缩。即使您将质量设置为100,它也不会提供正式保证。

  

或者当我用[...]

加载图片时问题已经出现了

不,位图是......位图,即它们代表图像数据的确切位。