从Bitmap类创建.bmp图像文件

时间:2013-09-03 06:20:50

标签: java android bitmap png bmp

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

任何人都可以告诉我如何从此Bitmap对象创建名为 myimage.png myimage.bmp 的文件

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

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