如果应用程序最初是使用非视网膜图形设计的,我了解需要将您的非视网膜图形升级到视网膜图形。如果您不转换旧应用程序,是否有理由制作 2 个不同大小的图形?既然视网膜图形可以缩小但非视网膜不能放大,为什么不让所有图形都具有视网膜尺寸呢?这似乎节省了很多时间(使每个图形有 2 个大小/适当地命名每个图形等),尽管它可能会占用微不足道的空间。如果我不只根据视网膜尺寸制作所有 iPad 和 iPhone 应用程序,我会忽略什么吗?
5 回答
主要原因只是性能,如果系统必须按比例缩小所有图像,可能会影响性能。
此外,如果只有@2x 图像可用,我不确定非视网膜系统是否会加载图像。这将需要在模拟器中进行一些测试。
仅包含 Retina 图形的问题在于,正如您所说,设备必须先按比例缩小您的所有资产,然后才能显示它们。这可能对您的应用程序性能的影响可以忽略不计。更大的问题是缩小的图形看起来很糟糕,特别是因为它们将显示在较低分辨率的屏幕上。你所有的缩放图像充其量看起来都是平庸的。也许你可以花很多时间开发 iOS 可以很好地缩放的图像,但到那时,为什么不直接生成单独的图像文件呢?生成 1x 资产并不需要太多努力,您的用户会注意到其中的差异。
正如 Kendall 所说,一个原因是性能,另一个是视觉质量。
为视网膜设计的图像在自动缩小时可能会变得不
清晰:要使图像具有像素清晰度,必须为非视网膜设计:
这包括不在分数坐标上放置线条,它们将在像素之间,导致视觉质量下降.
在为您的应用创建图像时,最好在导出之前降低分辨率。与创建 .png 文件然后调整其大小相比,图像的渲染效果会更好。
想象一个 8px*8px 的正方形被缩小到 4px*4px。
如果你缩小你的 png 文件,一个 2px*2px 的正方形将对应一个像素。产生的颜色不会是完美的。如果在导出之前缩小图像,它会渲染得更好。
因此,如果您自己创建这些图像,最好在导出之前手动减少它们。
如果您使用“已经平坦”的图像,无论您还是操作系统操作这种“糟糕”的缩小比例,您都会得到相同的结果。但是,如果您为系统提供非视网膜图像,您的应用程序将运行更流畅,因为您可以为操作系统节省时间来创建低分辨率图像。
性能是一个因素。此外,对于小图标,您需要适合屏幕尺寸的像素完美图像。iOS 上的缩放算法通常是平滑的,但是当您进入小图标时,您希望它更清晰。