当我使用下面的代码将字节数组保存到gif时,gif文件模糊不清。
但如果我将字节数组保存到png或jpg就可以了。有人知道问题是什么吗?
public writeToFile(byte[] array) {
try {
String path = "...";
FileOutputStream stream = new FileOutputStream(path);
stream.write(array);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
答案 0 :(得分:3)
GIF限制为256色,不支持真正的透明度。
您应该使用PNG而不是GIF,因为它提供了更好的压缩和功能。 PNG非常适合小型和简单的图像,如徽标,图标等。
JPEG可以通过照片等复杂图像进行更好的压缩。
png
具有比gif
更宽的颜色托盘,并且gif是专用的,而png不是。{ gif可以做动画,普通png不能。浏览器仅支持png-transparency大致比IE6
更近,但是有一个Javascript修复此问题。两者都支持alpha透明度。一般来说,我会说你应该使用png进行大多数webgraphics,同时使用jpeg进行照片,屏幕截图或类似的操作,因为png压缩在使用时效果不是很好。