1

長方形のビュー [ ] を作成する必要があります [ ] 上が回転し、下が所定の位置に固定されているかのように表示されます: / \ 。結果の画像は等角図で、下部が上部よりも幅が広くなっています。

この目標を達成するには、どの CGAffineTransform が必要ですか?

4

2 に答える 2

2

他の人が指摘しているように、CGAffineTransform でこれを行うことはできません。

ただし、この回答で説明しているように、CATransform3D を使用するのは比較的簡単です。CATransform3Dのコンポーネントを調整m34して、変換にある程度の遠近感を与え、X 軸を中心にビューを回転させ、場合によってはスケーリングして、下端が元の回転していないビューと同じ幅のままになるようにする必要があります。

anchorPointまたは、ビューの下層を中央ではなく下部に調整することもできます。次に、その端から回転が適用されます。これにより、下端の長さが一定に保たれ、ビューの遠近感が遠ざかる効果が得られます。(0.5, 1.0) の値がanchorPoint下端に設定されると思います。

于 2012-05-24T22:56:02.463 に答える
0

ブラッド、透視変換を行う方法について、次の例を (あなたが作成しました!) 見つけました。

http://www.sunsetlakesoftware.com/2008/10/22/3-d-rotation-without-trackball

何らかの理由で、私のコードでは機能しません。ボタンに 3D 変換が適用されていますが、スケーリング効果は適用されていません。

于 2012-05-26T13:33:37.213 に答える