iOS – 基于设备的不同图像或缩放相同的图像?

前端之家收集整理的这篇文章主要介绍了iOS – 基于设备的不同图像或缩放相同的图像?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
开发人员似乎总是为不同的设备创建不同的图像资源,并根据设备加载它们.但是,为最大分辨率设备(iPad)创建图像然后为iPhone 6,5等缩小图像是否有任何缺点?

我使用SpriteKit,所以我只创建不同大小的SKSpriteNodes并对它们应用相同的纹理并将其缩放以适合节点.

我知道可以考虑性能(为旧设备加载大图像).但除此之外,还有什么吗?这些图像会出现像素化/模糊吗?

解决方法

完美/纯粹的答案是为每个设备分辨率使用单独的图像和代码.

然而,从您自己的时间和理智的角度来看,使用有限的设置是有意义的,因为分辨率和屏幕尺寸的数量不会很快减少.那么为什么要浪费时间准备多个图像,除非xcode这样做更简单.

对于方形或固定宽高比的图像,我认为您只需要一个图像.对于像背景这样的图像存在问题,无论分辨率如何,至少需要满足不同方面的分辨率:所以单独的宽高比图像是必不可少的(如3:2和16:9),除非你不介意挤压,拉伸或裁剪图像.

如果您发现测试中的性能受损,您可以随后添加较低分辨率的图像.

在像素化方面,这是你无法避免的.如果您考虑从x3到x1分辨率时发生的情况,则必须将3×3像素混合到1×1中.在高分辨率下,任何单个像素宽(如线)或在几个像素上具有快速颜色变化的东西将受到最大影响.你可以在网上看到很多这方面的文章.

避免像素化的唯一方法是使用矢量图像,但这需要特殊的软件来加载矢量图像并将它们渲染成UIImages.

缩小时,每张图片都会受到不同的影响.一个想法可能是为x2图像,你缩小1为iPhone 3和向上1到x3为iPhone 6.这将以原始分辨率覆盖大多数当前设备,并且可能提供不太明显的像素化.

猜你在找的iOS相关文章