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