Размер изображения отличается от реального разрешения изображения (UIImageWriteToSavedPhotosAlbum) - PullRequest
0 голосов
/ 01 октября 2018

Я получаю изображение из ARFrame и конвертирую его в UIImage (imageToSave).

var imageToSave = convert(cmage:arFrameImage)
UIImageWriteToSavedPhotosAlbum(imageToSave, nil, nil, nil);

Я сохраняю в альбом iOS imageTosave.Когда я печатаю imageToSave.size, я получаю 1080.0, 1920.0 .Когда я проверяю разрешение изображения (после импорта его на мой Mac), оно составляет 1080.0, 1920.0 .

Затем я что-то рисую на этом imageToSave.

let imageSize = imageToSave.size
let scale: CGFloat = 0
UIGraphicsBeginImageContextWithOptions(imageSize, false, scale)
image.draw(at: CGPoint(x: 0, y: 0))
let rectangle = CGRect(x: 10, y: 10, width: 10, height: 10)
UIColor.white.setFill()
UIRectFill(rectangle)

let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
print("========Image size B)=======")
print(newImage!.size)
UIImageWriteToSavedPhotosAlbum(newImage!, nil, nil, nil);

Когда я печатаю newImage!.size, я получаю 1080.0, 1920.0 , как и ожидалось.Но когда я проверяю разрешение изображения (после импорта его на мой Mac), оно составляет 3240.0, 5760.0 .Почему реальное (импортированное) разрешение изображения отличается от newImage!.size?

1 Ответ

0 голосов
/ 01 октября 2018

Когда вы создаете на scale = 0, вы сохраняете изображение в масштабе основного экрана устройства - в 3 раза в вашем случае.

Вы создаете изображение с разрешением 1080x1920 точек @ 3x - 3240 x 5760 пикселей

Если вы хотите, чтобы ваше окончательное изображениебыть 1080x1920, используйте scale = 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...