是什么使图像变成1x,2x或3x(@ 1x,@ 2x,@ 3x)?如何制作3x图像?
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将为适当的设备加载适当的版本。
问题内容: 在Xcode 8中,键入时图像会自动完成。 问题是: 为什么? 我尝试使用建议的结果初始化UIImage,但是它不起作用。 有谁知道如何使用它? 问题答案: Xcode 8会自动识别资产目录中的所有图像,并将它们作为建议提供给UIImage初始化程序。 因此,基本上,您需要做的只是以下操作(就像您在问题中所做的那样,但是必须有其他令人不安的事情): 然后仅在要设置图像时使用。 在后台,
本文向大家介绍举例说明图片懒加载的方案有哪些?相关面试题,主要包含被问及举例说明图片懒加载的方案有哪些?时的应答技巧和注意事项,需要的朋友参考一下 利用 这个 API 获取图片元素相对于视口的位置,来判断是否需要加载图片 利用 获取目标元素与容器的相交状态
本文向大家介绍说一下图片的懒加载和预加载?相关面试题,主要包含被问及说一下图片的懒加载和预加载?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。 懒加载:懒加载的主要目的是作为服务器前端的优化,减少请求数或延迟请求数。 两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。 懒加载对服务器前端有一定的缓解
Bootstraps优化图片,添加了响应式的行为(因此它们绝不会大过其父元素),并通过样式类给它添加轻量级的样式。 响应式图片 在 Bootstrap 中,给图片应用.img-reponsive类以及 max-width: 100%、height:auto; 样式,使其具有响应性,并根据父元素的大小缩放。 <img src="..." class="img-responsive" alt="Res
Sketch 不是一个位图编辑器,所以我们的图片编辑功能比较有限。但是 Sketch 3 改进了这一点,现在能更好的处理文件中的图片。 值得注意的是,你可以将任何图层变成一个扁平的位图,通过进入 图层 > 将选区变成位图 (Layer > Flatten Selection to Bitmap)。 位图编辑 Sketch 中的位图编辑有很大的提升,现在也有一个得体的 UI 来专门展示。 选