Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何计算特定iPhone上的像素点转换?_Ios_Iphone_Swift_Uiimage_Uigraphicscontext - Fatal编程技术网

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

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

我正在尝试从iOS应用程序上载256 x 256个图像。我已将图像的大小调整为
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?查看文档以了解其参数。