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 outObjectOutputStreamは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 に答える