Поваренная книга Эрики Садунс для разработчиков iPhone (3.0), глава 08, упражнение 14 — изменение размера и поворот

Что касается Поваренной книги разработчика iPhone от Эрики Садун, в Глава 8, Упражнение 14 Изменение размера и поворот: пример работает просто отлично, я могу вращать, изменять размер и делать что угодно. Проблема в том, как вы ссылаетесь на измененное изображение после того, как оно было масштабировано, повернуто? При попытке сохранить фотографию она сохраняется как исходная фотография, а не отредактированная.


person WrightsCS    schedule 29.08.2011    source источник
comment
Пример кода может оказаться полезным.   -  person Alexsander Akers    schedule 30.08.2011
comment
Именно поэтому я сослался на исходный код в вопросе.   -  person WrightsCS    schedule 30.08.2011


Ответы (1)


Я предполагаю, что вы изменяете размер и поворачиваете UIImageView, который виден на экране устройства. Если это так, то ваши манипуляции применяются как матричные преобразования к UIView при его рендеринге и фактически вообще не изменяют фоновое изображение. Поэтому, если вы хотите сохранить моментальный снимок текущего состояния изображения, вам нужно нарисовать свое представление в CGContext соответствующего размера, а затем создать новое изображение из этого контекста.

Вы можете найти эти ресурсы полезными:

Как преобразовать UIView в CGContext

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

person aroth    schedule 29.08.2011
comment
Итак, я использовал слои, чтобы сохранить представление; это работает до некоторой степени. Мое сохраненное изображение должно иметь размер 640x960, где основной слой вдвое меньше, поэтому изображение сохраняется вдвое меньше исходного размера. Любые идеи? Я обновил свой вопрос. - person WrightsCS; 30.08.2011