I'm trying to upload 256 x 256 images from my iOS app. I've resized an image to CGSize(width: 256, height: 256)
, but it gets uploaded as 768 x 768. This makes sense, because on my iPhone X, 1 point is 3 pixels.
This isn't consistent though. On some iPhones, 1 point is 2 pixels.
How do I figure out to use CGSize(width: 128, height: 128)
or CGSize(width: 86, height: 86)
?
The direct answer to your question is to use the scale
property of UIScreen
.
But you probably don't need that depending on how your image is created. Given your tags, it is likely you are using UIGraphicsBeginImageContextWithOptions
. Note its third parameter of scale
. If you pass 0
you get the device's scale. But in your case you want a scale of 1
.
Scale is points / pixels. Get Scale in swift 5
let myScaleVariable = UIScreen.main.scale
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With