2011-01-18 10 views
1

私はUIImageViewを持っています。ユーザーは画面にタッチして回転してサイズを変更できます。 ユーザーがUIImageViewで行ったのと同じ変更をUIImage内のUIImageに適用したいです。 それから別のイメージをマスキングするためにUIImageを使用します。Quartz 2D:UIImageView変換をCGImageに適用するにはどうすればいいですか?

どうすれば正しい手順を教えていただけますか?

主な問題は、UIImageViewのアフィン変換マトリックスを[UIImage CGImage]に直接適用することができない点です。異なる座標系を使用するためです。あなたが取る必要がある

+0

は直接 'CGImage'に変換することも可能ですか? 'CGContext'を描画するときにそれを変換することについて話しているのであれば、' CGContextGetUserSpaceToDeviceSpaceTransform'のドキュメンテーションを見てください。この関数から返された変換は、UIImageViewの変換に適用できます。次に、結果として得られる結合された変換を、イメージを描画するコンテキストに適用します。 –

答えて

1

手順は次のとおりです。

  1. コンテキスト
  2. エキスAに元の画像を描画コンテキスト
  3. にUIImageViewからの変換を適用し、新しいグラフィックスコンテキストを作成します。文脈からの新しいイメージ

あなたが気を付けなければならないことは逆座標系です。回転イメージの境界矩形が元のサイズよりも大きくなったため、コンテキストを作成する際にこれを考慮する必要があります。

は、私の以前の記事を参照してください:Creating a UIImage from a rotated UIImageView

関連する問題