あなただけの(私も考えて、単一のUIViewでそれらを一緒に合わせることができます画面オフが、私は)まだチェックしていない - と、その後だけのUIViewをUIImageにQuartzCodeを使用していることを変換します
UIGraphicsBeginImageContext(myView.bounds.size);
[myView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
その後のフォーマットにそれを回す - inのPNGのように姿勢:
NSData *imageData = UIImagePNGRepresentation(image);
送信はあまり難しくありません。
EDITここ が拡張例であるあなたはまた、3枚の画像を参照することができます - あなたはもちろんのではなく、それをすべてを書くのにInterface Builderとアウトレットを使用することができます - しかし、あなたがしようとし、これをコピー&ペーストすることができます
UIImageView *imgView1, *imgView2, *imgView3;
imgView1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image1"]];
imgView2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image2"]];
imgView3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image3"]];
imgView1.frame = CGRectMake(0, 0, 50, 50);
imgView2.frame = CGRectMake(50, 50, 100, 100);
imgView3.frame = CGRectMake(100, 100, 200, 200);
[referenceView addSubview:imgView1];
[referenceView addSubview:imgView2];
[referenceView addSubview:imgView3];
UIGraphicsBeginImageContext(referenceView.bounds.size);
[referenceView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *finalImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
resultView = [[UIImageView alloc] initWithImage:finalImage];
resultView.frame = CGRectMake(0, 0, 320, 480);
[self.view addSubview:resultView];
referenceView.hidden = YES;
注 renderInContextを呼び出すときにUIViewを描画可能/表示可能にする必要があります(非表示にすることはできますが、非表示にすることはできません。つまり、非表示にするためアルファ= 0にすることができます)。だから、どちらかのオフスクリーンにそれを置くか、すぐに
これを確認してください - http://stackoverflow.com/questions/5299452/how-can-i-crop-an-image-with-mask-and-combine-it-with-another-image-background –
これはOpenGLに基づいています。私は他の選択肢があります。あなたは携帯電話のように多くの画像がメモリに扱うことができるで動作するために私が投稿 –
コード - 延長コード – shein