3

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;
4

0 に答える 0