0

ここに画像の説明を入力

これら 2 つの画像をマージする方法 (添付の画像を参照)。以下のコードを使用しています。3D変換画像ではなく、通常の画像で機能します。この問題を処理する方法。私は何度も検索しましたが、まだ適切な結果が得られません。私を助けてください。前もって感謝します。

UIImage *mergedImage;
UIGraphicsBeginImageContext(backgroundImageView.frame.size);
[backgroundImageView.layer  renderInContext:UIGraphicsGetCurrentContext()]; //bacgroundImageView here
mergedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
4

2 に答える 2

0

残念ながら、renderInContext:2D 変換のみを平坦化します。レイヤーに適用された 3D 変換を平坦化することはできません。これを回避する方法はありません。

于 2012-09-18T13:41:36.127 に答える
0

上に配置する歪んだ画像を含むを作成しCGImageRef(その画像の背景は 0% アルファ)、上記のコードを使用して画像をブレンドすることができます。

したがって、本当に探しているのは、3D 変換を画像に適用する方法です。より正確には、自分の言葉で「視点」を探しているので、ホモグラフィを画像にワープする方法を探しています。

CoreImageプログラミング ガイドでは、これが進むべき道であると指定していますCIPerspectiveTransformが、残念ながら、これは iOS 5.1 の時点で iOS では利用できません。

したがって、いくつかの選択肢が残されています。

  • UIImageView結果のブレンドのみを表示し、それを操作しない場合は、2 つの を重ねて使用できます。CATransform3D

  • どうしても画像をブレンドする必要がある場合は、 OpenCV (warpPerspective()探している関数) や OpenGL ESなどの別のフレームワークを使用する必要があります。

于 2012-09-17T10:24:13.697 に答える