如何以BMP格式保存图像文件?

3
以下代码压缩了我的图片或者说它不是BMP文件:
FileOutputStream fos = new FileOutputStream(imagefile);

bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();

如何将我的图片保存为BMP格式?


1
你应该告诉我们为什么认为你需要一个 BMP 格式的文件。这是一个古老、笨重、严重依赖于 Windows 的格式。你想做什么? - Yahel
我很好奇,你为什么认为你需要BMP文件?PNG在几乎所有方面都更优秀。 - Mark Ransom
2
@Yahel :- 奇怪的问题。我认为有人需要与另一个系统兼容。 - user1308405
2
@Meehman:这个问题并不奇怪 :) 每当有人要求某些不存在的东西,尽管 Android 平台被数以千计的开发者使用,你必须问自己,问题是否在于该功能不存在,而是为什么你认为需要它,而成千上万的其他开发者却不需要 :) 你“认为”它是为了某个需要它的人,问问他们我问你的同样的问题,你可能会惊讶地发现他们并不需要它。他们只是不知道 :D 虽然他们可能需要它,所以问问,但我敢打赌他们不需要 :) - Yahel
已在此回答:https://dev59.com/ZX7aa4cB1Zd3GeqPqXMg - Viktor Brešan
2个回答

1

根据this的参考,BMP没有内置编码器。 BMP不是一个过于复杂的格式,因此编写/查找Java实现可能并不困难。


这取决于你,如果BMP对你很重要,你可以在Android之外进行转换,例如在保存到服务器上。这并不是不可能的,只是API中没有内置的易用功能。 - Rob Pridham

-2

嘿,只需给.bmp文件命名

按照以下步骤操作:

ByteArrayOutputStream bytes = new ByteArrayOutputStream();
_bitmapScaled.compress(Bitmap.CompressFormat.PNG, 40, bytes);

//you can create a new file name "test.BMP" in sdcard folder.
File f = new File(Environment.getExternalStorageDirectory()
                        + File.separator + "**test.bmp**")

听起来像是我在胡闹,但试一次它就会以bmp格式保存下来。干杯!


1
更改文件扩展名并不会使它成为位图图像。它只是将其变成一个带有 .bmp 文件扩展名的 png 图像。 - Rudi Kershaw

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接