java - 从 Bitmap 类创建 .bmp 图像文件

标签 java android bitmap png bmp

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

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

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

最佳答案

尝试使用以下代码将图像保存为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);

关于java - 从 Bitmap 类创建 .bmp 图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18585427/

相关文章:

java - 如何禁用 JSliders 的箭头键?

android - 写入远程数据库操作可以在单独的异步线程中进行吗? (德尔福)

java - 当我将我的 fragment 添加到我的 Activity 中时,我做错了什么?

android - 图像保存到 SD 卡覆盖现有文件

c - 可滚动位图 win32 可能吗?

java - 将 CSV 文件中的数据获取到自定义收集器中

java - 如何使用正则表达式从部分结果替换为完整内容?

java - 如何在谷歌登录另一个 Activity 后保存谷歌个人资料

java - Android Instrumentation 测试 - UI 线程问题

c# - 位图创建问题(无效参数)C#