Объединение двух изображений из uiimageviews в один uiimage с правильными позициями
У меня есть представление с двумя UIImageViews. Первый вид изображения - это картинка, которая может быть изменена, но всегда находится в одной и той же позиции. Второй вид изображения содержит изображение логотипа, его размер можно изменить, панорамировать и повернуть.
Кстати, оба uiimageviews установлены в Aspect Fit.
Когда я закончу перетаскиванием второго вида изображения, я хочу сохранить эти два изображения и нарисовать одно изображение. Но в новом uiimage мне нужно, чтобы они были расположены точно так же, как они были после того, как я закончил перетаскивать и изменять размеры второго вида uiimage.
Я перенес это объединенное изображение в новый пользовательский контроллер, который называется PreviewViewController. Здесь я хочу показать изображение в виде изображения и сохранить его, если пользователь нажмет да.
У меня почти получилось, но положение x и y сбивает меня с толку. И есть еще одна проблема, когда при рисовании второго изображения uiimageview на новом изображении его режим просмотра выглядит как Scale для заполнения и выглядит уродливо.
Вот мой код
- (UIImage *)combineImages{
UIImage *tshirt = self.tskjorteTemplateView.image;
UIImage *logo = self.bildeView.image;
UIGraphicsBeginImageContext(self.tskjorteTemplateView.image.size);
UIGraphicsBeginImageContextWithOptions(self.tskjorteTemplateView.frame.size, NO, 0.0);
[tshirt drawInRect:CGRectMake(0,0, self.tskjorteTemplateView.frame.size.width, self.tskjorteTemplateView.frame.size.height)];
[logo drawInRect:CGRectMake(bildeView.center.x - (bildeView.frame.size.width / 2) ,
bildeView.center.y - (bildeView.frame.size.height / 2), self.bildeView.frame.size.width, self.bildeView.frame.size.height)];
UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return result;
}
и это называется здесь:
fullPreviewImage = [self combineImages];
WantToSaveViewController *save = (WantToSaveViewController *)segue.destinationViewController;
save.delegate = [self.navigationController.viewControllers objectAtIndex:0];
save.previewImage = fullPreviewImage;