ios - 视网膜与常规图像分辨率 : 1 high rez for both or 2 images w/respective rez for each?

标签 ios documentation retina-display

<分区>


想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 .

已关闭 5 年前

任何经验丰富的开发人员都会在开发周期中遇到这一点:图形和成像。是的,视网膜显示屏很棒!但它们无疑在开发人员(及其设计师)中引起了很大的骚动。现在似乎一直没有好的答案的问题是:

“在针对视网膜和常规显示器进行设计时,我们是否需要为每种分辨率创建一张图像,或者我们可以在 Retina 上创建一张可同时缩放到这两种分辨率的图像吗?”

我读到了很多支持任何一方的答案,其中三分之二的人主张为两种分辨率制作图像。 我个人认为您应该为视网膜设计一个,并将其用于两者(当然,在较低分辨率设备上进行 UD UX 测试,以确保为较高分辨率设计的内容适用于较低分辨率)。我坚持这一点,因为当我设计一个带有为视网膜分辨率创建的图像的应用程序时,它是否可以在不支持视网膜显示的设备上成功缩小到正常分辨率? (我确实使用了IB..我不知道这是否与它有关..)

但是,如果您主张为两种分辨率生成图像,请采用以下方法:

例如,您同意每个分辨率大小都需要有自己的图像(当然具有正确的文件命名约定“@2x”“~ipad”等),并且在这种情况下您的应用程序是通用应用程序。这是否意味着对于每张图像,您实际上都需要 4 张图像?这不会显着增加应用程序包的大小吗?

提供每个图像尺寸(带有正确的命名约定)是否可能不是必需的,而仅仅是一种可能性?

这场辩论的真正答案是什么?

任何人都可以找到有关此问题的官方苹果文档的链接吗?

最佳答案

Eli,我在 Quartz 列表中发布了同样的问题(或参与了那里的讨论),但我现在似乎找不到它。

压倒性的共识是制作两张图像。虽然仅使用 @2x 图像似乎确实有效,但与以下各项相比,闪存占用空间被视为性能微乎其微:

  • 操作系统必须使用更多的马力来渲染图像,从而影响性能

  • 在 RAM 较小的设备上,内存消耗会增加 4 倍

所以,我决定只支持两者。您拥有 iPad 特定图像的唯一原因是尺寸,因此您当然需要两张。

如果您只是创建 @2x 图像,您可以使用“sips”(或 imageMagik)编写一个小 shell 程序来获取这些 2x 图像并制作 1x 版本(通过缩小)。

如果迄今为止还没有 Apple 工程师站出来明确表示只做 2x 图像就可以了,而且不是以书面形式,我想这已经告诉了你官方的立场是什么。

PS:假设苹果要设计一款小得多的 iPad,它具有像素密集的显示屏,其像素宽度与非 Retina iPad 相同。假设为了使其真正便宜,他们使用了较慢的处理器并且没有为其提供大量内存。那么我想您最好使用两种尺寸的图像,不是吗?

关于ios - 视网膜与常规图像分辨率 : 1 high rez for both or 2 images w/respective rez for each?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12096837/

上一篇:objective-c - 我应该如何为 CATiledLayer 平铺图像?

下一篇:iphone - 在一部手机上测试 native iOS 应用程序可以工作,但在另一部手机上崩溃?

相关文章:

ios - UITextField 自定义如何选择或插入文本

c# - 在 C# 中使用文档属性

iPad 3 Retina Display、@2x 图像和商店中已有的应用程序

REST API - ALPS UI(类似 Swagger UI)

javascript - 对象中 Lambda 函数的 JSDoc

iphone - 支持视网膜和非视网膜显示屏的图形

html - 在桌面上开发 4K 分辨率,还是让浏览器处理缩放?

iphone - 组合标签、 TextView 和图像(但图像与文本滚动)

ios - 始终让iOS应用处于唤醒状态

ios - 如何从我的 iOS NativeScript UIView 获取指针?