iPhone - Изменение размера UIImage менее чем за секунду на iPhone 4 - PullRequest
1 голос
/ 11 апреля 2011

У меня 5-мегапиксельное изображение с задней камеры.Я хочу уменьшить его, чтобы поместить его в ImageView без необходимости ждать слишком долго (для отображения 5-мегапиксельного изображения требуется время входа в UIImageView.Поэтому я перепробовал много методов, чтобы изменить размер / изменить размер изображения, чтобы оно соответствовало только разрешению экрана (сетчатка).Но для уменьшения размера изображения требуется около 1 секунды.

Известен ли вам какой-либо оптимизированный способ изменения размера этого изображения с разрешением 5 мегапикселей до разрешения 960 x 640 на сетчатке, по крайней мере, менее 0,7сек на айфоне 4?

Ответы [ 2 ]

6 голосов
/ 11 апреля 2011

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

http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

0 голосов
/ 12 апреля 2011

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

Затем в фоновом потоке измените размер изображения до желаемого размера и обновите UIImageView, как только это будет сделано.

Это дает вам что-то на экране сразу же, пока вы генерируете оптимизированную версию одновременно.

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

...