2

我使用以下代码保存相机拍摄的图像

File storageDir= new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),"myphoto.png");//  getAlbumName()
FileOutputStream out = new FileOutputStream(storageDir);
ObjectOutputStream oos =new ObjectOutputStream(out);

mImageBitmap.compress(Bitmap.CompressFormat.PNG,100 , oos);
oos.flush();
oos.close();

我在“\pictures”文件夹中得到“myphoto.png”,但是当尝试打开图像时,我只能看到黑色窗口而不是图像。我错过了什么?谢谢

4

1 回答 1

1

您不应该压缩成ObjectOutputStream oos,而是压缩成FileOutputStream out. ObjectOutputStream适用于 Java 对象,它会将不需要的数据添加到您的输出中。

File storageDir= new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),"myphoto.png");//  getAlbumName()
FileOutputStream out = new FileOutputStream(storageDir);

mImageBitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.flush();
out.close();
于 2013-07-08T11:22:43.840 回答