изменение размера изображений дает предупреждение памяти - PullRequest
0 голосов
/ 04 марта 2010

Я разрабатываю приложение для обрамления изображений для iphone. Когда я выбираю изображение из контроллера выбора изображений и после увеличения, кадрирования, сопряжения с рамкой, я сохраняю изображение. для этого Я рисую контекст изображения поверх изображения. на самом деле мое изображение имеет размер 1200 * 1600, но наше попустительство снимает кадр изображения 320 * 480. поэтому после рисования изображения размер изображения не соответствует размеру фотографии на iphone. Так что для этого я изменяю размер изображения с размером 1200 * 1600. здесь я получаю предупреждения памяти, и когда я проверяю с помощью инструментов для рисования изображения с размером 1200 * 1600, он занимает до 130 МБ мое приложение падает после этого. Я пытаюсь всеми разными способами. но я не могу преодолеть эту проблему. Поэтому, пожалуйста, помогите мне преодолеть это.

Заранее спасибо

1 Ответ

1 голос
/ 04 марта 2010

В документации сказано, что максимальный размер изображения должен быть меньше 1024x1024. Поэтому я думаю, что ваша проблема связана с вашим высоким размером изображения.

Вам следует избегать создания объектов UIImage, размер которых превышает 1024 x 1024. Помимо большого объема памяти, которое потребляет такое изображение, у вас могут возникнуть проблемы при использовании изображения в качестве текстуры в OpenGL ES или при рисовании изображения в виде или слое. Это ограничение размера не применяется, если вы выполняете манипуляции на основе кода, такие как изменение размера изображения, превышающего 1024 x 1024 пикселей, путем рисования его в графическом контексте с растровой поддержкой. Фактически вам может потребоваться изменить размер изображения таким образом (или разбить его на несколько меньших изображений), чтобы нарисовать его в одном из ваших видов.

(см. справочник классов UIImage )

...