如何计算特定 iPhone 上的像素到点的转换?
How do I figure out pixel to point conversion on specific iPhone?
我正在尝试从我的 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)
?
您问题的直接答案是使用 UIScreen
的 scale
属性。
但根据图像的创建方式,您可能不需要它。根据您的标签,您可能正在使用 UIGraphicsBeginImageContextWithOptions
。注意它的第三个参数scale
。如果您通过 0
,您将获得设备的比例。但在你的情况下,你想要 1
.
的比例
比例为点/像素。在 swift 5
中获取比例
let myScaleVariable = UIScreen.main.scale
我正在尝试从我的 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)
?
您问题的直接答案是使用 UIScreen
的 scale
属性。
但根据图像的创建方式,您可能不需要它。根据您的标签,您可能正在使用 UIGraphicsBeginImageContextWithOptions
。注意它的第三个参数scale
。如果您通过 0
,您将获得设备的比例。但在你的情况下,你想要 1
.
比例为点/像素。在 swift 5
中获取比例let myScaleVariable = UIScreen.main.scale