java - Android 从字节数组中保存 gif

标签 java android gif

当我使用下面的代码将字节数组保存到 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 色,并且不支持真正的透明度。

enter image description here

您应该使用 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/

相关文章:

java - 安卓 Java : Custom adapter for listview for scrolling and filtering issue

ios - 在 collectionview 中显示大量 gif

python - 在 PyGame 中使用 GIF

java - 如果不在引号之间,则在空格处拆分

java - 用于 JTabbedPanes 的容器

java - 使用 SAMLResponse token

Android Studio - 如何通知 Activity View 已更改变量?

javascript - 用户最小化应用程序后状态栏返回(Android Studio)

android - Android 交叉编译 FFTW 时如何启用 hard float

html - 将 Canvas 导出为 .gif 图像