Это мой вопрос:Почему imageWithCGImage: шкала: ориентация: не работает?
Я хочу повернуть свое изображение, когда у меня получится степень его вращения.
И мой код здесь
UIImage *image = imageView.image;
UIImage *originalImage = imageView.image;
CGAffineTransform transform = imageView.transform;
if (CGAffineTransformEqualToTransform(transform, CGAffineTransformRotate(CGAffineTransformIdentity, M_PI_2))) {
image = [UIImage imageWithCGImage:originalImage.CGImage scale:originalImage.scale orientation:UIImageOrientationRight];
} else if (CGAffineTransformEqualToTransform(transform, CGAffineTransformRotate(CGAffineTransformIdentity, M_PI))) {
image = [UIImage imageWithCGImage:originalImage.CGImage scale:originalImage.scale orientation:UIImageOrientationDown];
} else if (CGAffineTransformEqualToTransform(transform, CGAffineTransformRotate(CGAffineTransformIdentity, M_PI_2 * 3))) {
image = [UIImage imageWithCGImage:originalImage.CGImage scale:originalImage.scale orientation:UIImageOrientationLeft];
} else if (CGAffineTransformEqualToTransform(transform, CGAffineTransformRotate(CGAffineTransformIdentity, M_PI * 2))) {
image = originalImage; // UIImageOrientationUp
}
Как я надеюсь, то image
покажет, как повернется. Но после поворота эти изображения все еще то, чем они были. Это значит, что метод imageWithCGImage:scale:orientation:
не работал.
Кто-нибудь может мне сказать, почему? Благодарю.
Вы сначала 'UIImage * image = imageView.image;' не имеет никакого эффекта, кроме как объявить «образ», который затем устанавливается на результат преобразования. Но вы ничего не делаете с результатом. Натан Оу имеет правильный ответ. – Jeff