あるレイヤーでいくつかの描画を行ったので、別のレイヤーで同じものを描画したいので、ユーザーが最初のレイヤーで描画したすべての描画ポイントを保存しました。次に、convertPoint:toLayer:を使用して、保存されたポイントを別のレイヤー。そしてその働き。しかし、オリエンテーションに問題を引き起こします。縦向きで描いた場合。その後、横向きのポートレートのみ動作します位置が変更されます。だから、これから抜け出す方法を提案してください。
ありがとう
質問する
78 次
1 に答える
0
x、y 位置がサイズ 0..1、0..1 のサーフェスに対して相対的になるように、保存されたポイントを正規化します (x、y を現在のサーフェスの幅と高さで割ります)。次に、下にあるサーフェスのサイズを変更したいときはいつでも、各ポイントにこの新しいサーフェスの幅と高さを掛けます。サーフェスの寸法に関係なく、すべてのポイントが同じ相対位置に表示されるようになりました。
上記はスケーリングされることに注意してください (縦から横に移動すると、Y が圧縮され、X が拡張されます)。これを行いたくない場合は、画面上のサーフェスの物理的な寸法も考慮する必要があります。つまり、代わりにポイントを物理的な次元に正規化します。
注:質問に記載されていないため、使用しているシステム、言語、パッケージ、ライブラリなどはわかりません。
于 2010-12-22T15:41:01.103 に答える