Как соотносятся `UIImagePickerControllerOriginalImage`,` UIImagePickerControllerCropRect `и` UIImagePickerControllerEditedImage`? - PullRequest
0 голосов
/ 16 февраля 2019

Я надеялся, что кто-нибудь сможет объяснить, как эти значения связаны.(Я положу свою интерпретацию в ответ на свой вопрос и посмотрю, насколько хорошо она выдерживает).

Я работаю над функцией, когда пользователь выбирает изображение, а затем ему предлагается квадратная граница кадрирования., которые они могут использовать, если хотят.

Итак, я использую UIImagePickerController с allowsEditing

Документы не особенно полезны ->

Указывает прямоугольник обрезки, который был применен к исходному изображению https://developer.apple.com/documentation/uikit/uiimagepickercontroller/infokey/1619150-croprect

Я проводил тестирование краевого случая, поэтому я обрезал панораму, которую кто-то прислал мне.Вот соответствующие результаты, когда я получаю данные через print:

"UIImagePickerControllerOriginalImage": <UIImage: 0x6000014aed80> size {4032, 3024} orientation 1 scale 1.000000,

"UIImagePickerControllerCropRect": NSRect: {{0, 0}, {3071.9999999999995, 2307.710144927536}},

"UIImagePickerControllerEditedImage": <UIImage: 0x6000014a2290> size {826, 620} orientation 0 scale 1.000000,

1 Ответ

0 голосов
/ 16 февраля 2019

Моя интерпретация такова:

Возьмите UIImagePickerControllerOriginalImage (4032, 3024), а затем обрежьте его с UIImagePickerControllerCropRect, от начала координат, стричь все, что находится за пределами ~ 3072 x 2308.

Тогда окончательное изображение было возвращено как (826, 620), я предполагаю, что обрезанный маг был масштабирован до значений.(Соотношения сторон всех трех выглядят очень согласованно)

...