Android - 在移动存储上保存位图图像而不压缩

5
典型的从远程URL保存位图图像的方式(基于研究)如下:
Bitmap bmImage = null;

InputStream in = new java.net.URL(imageUrl).openStream();
bmImage = BitmapFactory.decodeStream(in);

File file = new File(myPath);

FileOutputStream outputStream;
outputStream = new FileOutputStream(file);

bmImage.compress(Bitmap.CompressFormat.PNG, 100, outputStream);

outputStream.close();

除非压缩位图(位图始终未经压缩),否则我无法保存它。远程图像大小为32KB,压缩后变为110KB。我知道我必须降低压缩参数才能获得更小的尺寸,但远程图像是优化的且效率更高。

有没有办法在移动存储上保存远程图像而不压缩它?

===== 解决我的问题的答案 =====

首先,我为误导内容道歉;我想要保存的所有图像都可能是png | jpeg | gif |等等。可能我误导了你们,我试图保存的图像是BMP格式,但实际上并不是。

尽管如此,对于那些想要保存未经压缩的图像的人,请查看这个answer

1个回答

1

使用以下代码中所示的 AndroidBmpUtil

new AndroidBmpUtil().save(bmImage, file);

这会使图像大小变得更大,232KB :( - PeaceDefener
如何使用这个类? - Moeez
2
java.nio.BufferOverflowException类中发生崩溃。 - AndroidDev

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