我被告知如果我在项目中只有@2x格式的图片,Xcode会自动将其缩小到非Retina屏幕大小,因此似乎没有必要创建其他格式的图片。这让我在开发应用时没有制作非Retina图片。
但最近我就这个问题进行了讨论,并被告知如果没有单独保存非Retina格式的图片,那么该图片在非Retina设备上的质量不会很好。
这是真的吗?
我被告知如果我在项目中只有@2x格式的图片,Xcode会自动将其缩小到非Retina屏幕大小,因此似乎没有必要创建其他格式的图片。这让我在开发应用时没有制作非Retina图片。
但最近我就这个问题进行了讨论,并被告知如果没有单独保存非Retina格式的图片,那么该图片在非Retina设备上的质量不会很好。
这是真的吗?
没错,这是事实,但仅仅使用@2x也不是一个好主意,因为以下几个原因:
简单地调整视网膜图像的大小可能不是保持图像语义的最佳方法。例如,一个图标在@2x的正确大小下看起来很棒,但当缩小尺寸时,很难区分图标是什么。因此,你的常规大小的图像可能是一个略微不同的图标,它的分辨率更低,但易于确定其含义。
使用时,图像会被存储在内存中。@2x图像的分辨率是普通图像的4倍,因此占用的内存约为4倍。像iPad 1和3GS这样具有非视网膜显示屏的设备内存有限,剩余空间不多。因此,视网膜图像将占用更多可用的内存,你的应用程序/设备性能会受到影响。
与第一点类似,但对于@2x图像进行的调整大小以适合1x屏幕非常天真,且不执行任何采样使图像看起来漂亮的操作。例如,当缩小尺寸时,图像可能非常锯齿和粗糙。如果你有一个常规的图像文件,它是从@2x版本衍生出来的,你可以执行自己的采样和分辨率降低方法,以确保它看起来符合你的要求。