如何计算特定 iPhone 上的像素到点转换?

Dav*_*vid 3 iphone uiimage ios uigraphicscontext swift

我正在尝试从我的 iOS 应用上传 256 x 256 图像。我已将图像大小调整为CGSize(width: 256, height: 256),但它上传为 768 x 768。这是有道理的,因为在我的 iPhone X 上,1 磅是 3 像素。

但这并不一致。在某些 iPhone 上,1 磅是 2 像素。

我如何弄清楚使用CGSize(width: 128, height: 128)CGSize(width: 86, height: 86)

小智 6

比例是点/像素。在 swift 5 中获取规模

let myScaleVariable = UIScreen.main.scale
Run Code Online (Sandbox Code Playgroud)


rma*_*ddy 5

您问题的直接答案是使用 的scale属性UIScreen

但是您可能不需要它,具体取决于您的图像是如何创建的。鉴于您的标签,您很可能正在使用UIGraphicsBeginImageContextWithOptions. 注意它的第三个参数scale. 如果你通过,0你会得到设备的规模。但在你的情况下,你想要一个1.