当我使用下面的代码将字节数组保存到 gif 时,gif 文件变得模糊。
但是如果我将字节数组保存为 png 或 jpg 则一切正常。有人知道问题出在哪里吗?
public writeToFile(byte[] array) {
try {
String path = "...";
FileOutputStream stream = new FileOutputStream(path);
stream.write(array);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
最佳答案
GIF 仅限于 256 色,并且不支持真正的透明度。
您应该使用 PNG 而不是 GIF,因为它提供更好的压缩和功能。 PNG 非常适合小型且简单的图像,例如 Logo 、图标等。
JPEG 对于照片等复杂图像具有更好的压缩效果。
png
的调色板比 gif
更宽,并且 gif 是专有的,而 png 不是。 gif 可以做动画,而普通-png 则不能。 png-transparency 仅受比 IE6
更新的浏览器支持,但有一个 Javascript 修复了该问题。两者都支持 Alpha 透明度。一般来说,我会说您应该对大多数网页图形使用 png,而对照片、屏幕截图或类似图像使用 jpeg,因为 png 压缩在 thoose 上效果不太好。
关于java - Android 从字节数组中保存 gif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26335244/