UIImage+Resize.h - неправильное аффинное преобразование для ориентации UIImageOrientationUp

Для изменения размера UIImage я использовал следующий класс.

http://iphone.svn.wordpress.org/trunk/UIImage+Resize.m

Но у меня возникают проблемы с ориентацией iPhone, когда я держу телефон на вертикальной поверхности. Он правильно изменяет размер, но изображение не преобразуется должным образом аффинно. Ориентация изображения другая. Я регистрировал сообщения в методе «transformForOrientation», где он вызывал UIImageOrientationUp, где я не вижу никаких манипуляций с этой ориентацией. Я считаю, что это причина того, что я получил недопустимое преобразование. Поэтому мне нужна помощь, чтобы решить эту проблему. Есть ли какие-либо «CGAffineTransformTranslate» или «CGAffineTransformRotate», которые нужно добавить, чтобы получить правильный вывод.

Пожалуйста, посоветуй мне.

Спасибо.


person Dilshan    schedule 19.09.2010    source источник


Ответы (1)


Метод - (UIImage *)croppedImage:(CGRect)bounds; в методе UIImage+Resize не учитывает ориентацию изображения.

В этом методе замените эту строку:

UIImage *croppedImage = [UIImage imageWithCGImage:imageRef];

с этим:

UIImage *croppedImage = [UIImage imageWithCGImage:imageRef scale:1.0 orientation:self.imageOrientation];
person averydev    schedule 06.11.2011
comment
Это годовалый ребенок. Однако я смог исправить это, используя альтернативу, но я не могу этого вспомнить. Кстати спасибо за ответ. - person Dilshan; 07.11.2011