2 つの UIImageView を持つビューがあります。最初の uiimageview は画像で、変更できますが、常に同じ位置にあります。2 番目の uiimageview には、ロゴの uiimage が含まれています。この uiimageview は、サイズ変更、パン、回転が可能です。
ちなみに、両方の uiimageviews は Aspect Fit に設定されています。
2 番目の uiimageview のドラッグとスケーリングが完了したら、これら 2 つの uiimage を保存し、1 つの uiimage を描画します。しかし、新しい uiimage では、2 番目の uiimageview のドラッグとサイズ変更が完了した後、正確に配置する必要があります。
この結合された uiimage を、PreviewViewController と呼ばれる新しい uiviewcontroller にプッシュします。ここでは、uiimage をイメージビューに表示し、ユーザーが [はい] を押した場合に保存します。
私はほとんどそれを機能させましたが、x と y の位置が私を混乱させています。もう 1 つの問題があります。2 番目の uiimageview 画像を新しい画像に描画すると、ビュー モードが Scale to fill のように見え、見苦しくなります。
私のコードはこちら
- (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;