Сделайте снимок, используя UIImagePickerController с пользовательским масштабированием - PullRequest
4 голосов
/ 29 апреля 2011

Я создал пользовательский элемент управления камерой с наложением ...

Теперь я масштабирую изображение с помощью Slider by ..

imagePickerController.cameraViewTransform = CGAffineTransformScale(initialTransform, 

MainSlider.value, MainSlider.value);

где initialTransform - начальное преобразование изображения ... MainSlider - слайдер, который я использую, чтобы получить уровень масштабирования от 1 до 4 Поэтому каждый раз, когда я увеличиваю изображение с помощью ползунка ... я ссылаюсь на initialTransform и увеличиваю соответственно значение ползунка ...

Я могу увеличить изображение, выполнив это .. Но когда я делаю снимок, используя

[imagePickerController takePicture];

Это дает мне только оригинальную картинку .. не дает мне никакого EditedImage ...

Это оригинальное изображение такое же, как и без зума ... Я хочу получить изображение, которое было увеличено ... Означает, что отображается на экране ...

Я пытаюсь найти много для этого ,,,, я знаю, что мы можем использовать GetScreenCapture () но это может быть причиной отклонения приложения, а также снизить качество изображения ...

1 Ответ

2 голосов
/ 13 мая 2011

Вам необходимо применить такое же преобразование к изображению после того, как оно было снято.Настройка cameraViewTransform повлияет только на дисплей, как вы заметили.Когда вы применяете преобразование с равномерным масштабированием (например, для увеличения), это цифровое увеличение.Вы не увеличиваете разрешение в пикселях.Вы получите изображение обратно из камеры, а затем сможете обрезать / масштабировать его до нужного размера при обработке изображения.Вы должны выполнять обработку в фоновом потоке, чтобы минимизировать нарушение основного потока.

...