Многие вопросы доступны на SO, но, к сожалению, я не мог решить свою проблему, используя их. Я добавил оверлейный вид на свою камеру и теперь хочу получить изображение на синей границе (только бутылка с водой).Crop Image With Desire Rect
Я попытался куски кода, как следующий
CGImageRef imageRef = CGImageCreateWithImageInRect([largeImage CGImage], cropRect);
[UIImageView setImage:[UIImage imageWithCGImage:imageRef]];
CGImageRelease(imageRef);
, но имеющие две проблемы
- Либо обрезается изображение становится слишком большой
- Изменения ориентации на -90.
для пункта 1, я думаю, что предоставляю cropRect
слишком маленький, поэтому он показывает очень маленькую часть изображения со слишком увеличенным видом. на моем другом viewController
У меня есть UIImageView
(там, где обрезанное изображение должно отображаться) того же размера, что и прямоугольник камеры в синей рамке. Итак, вопрос заключается в том, как обрезать изображение и какие значения я должен предоставить для cropRect
?
Какие значения мне нужно предоставить в 'cropRect'? – Ans
Предполагая размер изображения как 1280 * 1080 и обрезаем прямоугольник как {40, 50, 320, 480}. Convert croprect by {40 * scaleFactor, 50 * scaleFactor, 320 * scaleFactor, 480 * scaleFactor} и использовать этот новый прямоугольник для обжатия –
для 'imageOrientation' он говорит' присваивание только для чтения .' – Ans