我使用下面的代码来保存相机拍摄的图像
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”,但是当尝试打开图像时,我只能看到黑色窗口而不是图像。我错过了什么?谢谢
最佳答案
您不应压缩到 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();
关于java - 无法看到保存的图像,因为它在 imageview 中看起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17524523/