【发布时间】:2017-06-29 15:31:33
【问题描述】:
如何为 iphone 5 到 6\6+(与 7\7+ 相同)等所有屏幕尺寸创建图像?
这里的混乱,我是创建一个还是创建几个基本图像?
我读到了@1x、@2x、@3x。但我还是一头雾水。
iphone4 iphone5 iphone6 phone6+
Canvas Size(pts) 320x460 320x568 375x667 414x736
Screen Size(Px) 640x960 640 x1136 750x1334 1080x1920
这里是我将使用的方法,请帮助我纠正它们。
这是我将根据每部 iphone 的屏幕尺寸做的事情。
方法(A):
1.0) 只创建一个大小为 320x568 的基本图像(基于 iphone 5)
1.1) 将此图像命名为:myimage320x568.png、myimage320x568@2x.png、myimage320x568@3x.png
是正确的方法吗?系统会为 iphone5/6/6+ 正确缩放图像吗?
方法(B)
为 iphone5 创建一个 320x568 的图像 命名它。 myimage320x568.png
-
为 iphone6 创建一个 375x667 的图像
将其命名为 myimage375x667.png ,复制一份并将其命名为 myimage375x667@2x.png
-
为 iphone6+ 创建一个 414x736 的图像
将其命名为 myimage414x736.png ,myimage414x736@3x.png
4) 使用代码检测iphone型号或screen.height
if ( iphone5 ){ use myimage320x568.png } else if (iphone 6 or 7) { use myimage375x667.png } else if (iphone 6+ or 7+) { use myImage414x736.png }
这对吗?
//-- 更新
这行得通。但我不确定应该使用什么基本图像尺寸?
使用这个 375x667 (iphone6) 或这个尺寸 414x736 (iphone 6+) 作为基础图片
UIGraphicsBeginImageContext(self.view.frame.size)
let img = UIImage(named: "iosWPMain1")
img?.draw(in: self.view.bounds, blendMode: .normal, alpha: 1)
let image: UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIGraphicsEndImageContext()
self.view.backgroundColor = UIColor(patternImage: image)
谢谢
【问题讨论】:
-
嗨,我相信你没有使用 CoreGraphics 制作这张图片。你能澄清一下吗?如果您不是在应用程序中制作此图像,请查看我的答案,如果您有任何疑问,请告诉我:)。