3

我创建了一个使用套接字的应用程序,客户端在该套接字中接收图像并将图像的数据存储在 Bitmap 类中......

谁能告诉我如何从这个 Bitmap 对象创建一个名为myimage.pngmyimage.bmp的文件

String base64Code = dataInputStream.readUTF();
byte[] decodedString = null;
decodedString = Base64.decode(base64Code);
Bitmap bitmap = BitmapFactory.decodeByteArray(decodedString, 0,decodedString.length);
4

2 回答 2

5

尝试以下代码将图像保存为PNG格式

try {
   FileOutputStream out = new FileOutputStream(filename);
   bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
} catch (Exception e) {
   e.printStackTrace();
}
out.flush();
out.close();

在这里,100 是在压缩中保存的质量。您可以传递 0 到 100 之间的任何值。数字越小,质量越差,尺寸越小。

笔记

您需要在 Android Manifest 文件中获得许可。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

编辑

要将您的图像保存为.BMP格式,Android Bitmap Util将为您提供帮助。它的实现非常简单。

String sdcardBmpPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/sample_text.bmp";
Bitmap testBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sample_text);
AndroidBmpUtil bmpUtil = new AndroidBmpUtil();
boolean isSaveResult = bmpUtil.save(testBitmap, sdcardBmpPath);
于 2013-09-03T06:27:57.320 回答
0
try {
   FileOutputStream out = new FileOutputStream(filename);
   bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
} catch (Exception e) {
   e.printStackTrace();
} finally {
   out.close();
}
于 2013-09-03T06:29:45.183 回答