一尘不染

Xcode图片说明

swift

是什么使图像变成1x,2x或3x(@ 1x,@ 2x,@ 3x)?如何制作3x图像?


阅读 186

收藏
2020-07-07

共1个答案

一尘不染

iOS在其坐标系中使用点而不是像素。在原始的非视网膜设备(iPhone,iPhone3G,iPhone3GS,iPad,iPad 2,iPadmini和早期的iPodtouch)中,坐标系中的一个点映射到设备屏幕上的一个像素。那时,生活很简单,您为应用程序提供了映射到点大小的图像,并且一切看起来都很棒。

当苹果推出首批视网膜显示设备(iPhone 4,带视网膜显示屏的iPad和iPod touch
4)时,这些设备的每个点都有2个像素。苹果公司设计了一种巧妙的处理方式。程序员只需要以更高的分辨率向其程序中添加第二个图像,然后在名称中添加@
2x。无需更改代码。如果您的代码加载了名为“ house”的图像,则iOS将在非视网膜设备(例如iPad 2或原始iPad mini)上加载“house”,并且它将对视网膜设备使用“ house @ 2x”。iPhone 6 Plus的分辨率更高,因此使用@ 3x版本。

那么是什么使图像成为@ 1x,@ 2x或@ 3x?如果您的“房屋”图像是120像素乘以90像素,那么“房屋@
2x”图像应为240乘以180像素,这是每个尺寸的像素数的两倍(简称“ 2x”)。“ house @ 3x”版本应为360 x270(每个尺寸像素数的3倍)。

您需要确保@ 2x和@ 3x版本具有更多的细节,而不仅仅是更多的像素。您可以使用 Photoshop
Pixelmator之
类的程序来创建图像。首先创建非常精美的图像版本(@ 3x版本),然后将其缩小到@ 2x分辨率,然后将该版本另存为@ 2x版本。然后再次打开@3x版本,并将其缩放为@ 1x分辨率,然后将其另存为@ 1x版本。将所有三个版本添加到Xcode中的AssetsCatalog中,iOS将为适当的设备加载适当的版本。

2020-07-07