为什么所有人都建议在iPhone上使用PNG而不是GIF、JPG图像?

3

可能重复:
何时在iPhone开发中使用PNG或JPG?

我想知道为什么所有人都建议在iPhone应用程序中使用.png图像而不是.jpg和.gif图像。当我们使用.gif或.jpg图像时会出现什么问题。苹果不支持使用非.png图像的应用程序吗?请给我解释一下。

提前感谢


请查看此答案:https://dev59.com/gnE95IYBdhLWcg3wY81l#2336546(忽略有关IE6兼容性的注释) - Anton Strogonoff
3个回答

5
iPhone专门优化了PNG图像的处理效率,而对于GIF和JPEG则没有同样的优化。

此外,如果您将PNG文件作为XCode项目的一部分添加,那么XCode将把PNG文件转换成苹果特定的PNG变体。目前似乎没有关于该格式的官方文档,但据说它与官方的PNG格式在字节交换(BGR而不是RGB)和预乘Alpha通道方面有所不同。这些更改进一步减少了iPhone在运行时需要做的工作量。

1
我已经对此进行了基准测试,Xcode 转换使文件加载变得更慢 - Kornel
通常也会导致 PNG 文件过大。我极力推荐使用 PNGYU 或 ImageOptim(不过在 Xcode 项目构建设置中要关闭 PNG 压缩!),这样你会发现 PNG 文件的大小减少了一半。 - CBanga

2

大概是因为它支持透明度的 Alpha 通道,所以在 UI 设计中更加美观。


2

.jpg采用有损压缩技术,因此其目的与.gif和.png不同,后两者采用无损压缩技术。

.png文件支持比.gif更多的颜色,并且根据图像大小可以更小。.gif曾经受到专利限制,但据我所知这些专利已经过期。

.jpg适用于需要比无损格式提供更多压缩的较大图像,特别是真实照片,在这种情况下,有损压缩的伪影会不那么明显。如果图像很小或基于矢量图形,其中压缩伪影很明显,则应首选无损压缩。


同样因为.png具有真正的alpha通道,就像Paul Dixon的回答一样。 - antlersoft
1
我有一个坦白要说:我刚才不得不谷歌“AFAIK”……也许是我变老了,或者只是因为有太多该死的缩写词存在。 - MiguelB

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