Ios 如何计算特定iPhone上的像素点转换?
我正在尝试从iOS应用程序上载256 x 256个图像。我已将图像的大小调整为Ios 如何计算特定iPhone上的像素点转换?,ios,iphone,swift,uiimage,uigraphicscontext,Ios,Iphone,Swift,Uiimage,Uigraphicscontext,我正在尝试从iOS应用程序上载256 x 256个图像。我已将图像的大小调整为CGSize(宽:256,高:256),但它被上传为768 x 768。这是有道理的,因为在我的iPhoneX上,1点是3像素 但这并不一致。在一些iPhone上,1点是2像素 如何使用CGSize(宽度:128,高度:128)或CGSize(宽度:86,高度:86)?您的问题的直接答案是使用UIScreen的scale属性 但根据图像的创建方式,您可能不需要这样做。鉴于您的标记,您可能正在使用UIGraphicsBe
CGSize(宽:256,高:256)
,但它被上传为768 x 768。这是有道理的,因为在我的iPhoneX上,1点是3像素
但这并不一致。在一些iPhone上,1点是2像素
如何使用
CGSize(宽度:128,高度:128)
或CGSize(宽度:86,高度:86)
?您的问题的直接答案是使用UIScreen
的scale
属性
但根据图像的创建方式,您可能不需要这样做。鉴于您的标记,您可能正在使用
UIGraphicsBeginImageContextWithOptions
。注意它的第三个参数比例
。如果通过0
,则获得设备的刻度。但是在您的例子中,您需要1
的比例是点/像素。在swift 5中获得刻度
let myScaleVariable = UIScreen.main.scale
显示用于创建图像的代码。您是否正在使用带有选项的UIGraphicsBeginImageContextWithOptions?查看文档以了解其参数。