(0,0) がビューの左上隅にある座標 (50,100) を持つポイントがあるとします。
座標系の始点を画面の中心 (つまり、幅/2、高さ/2) にしたい場合、同じ点の座標を取得するにはどうすればよいですか?
カスタム ビューを実装していて、その中に描画していて、同じビュー内の座標を変換したいだけであることに注意してください。私は基本的にグラフィック電卓を実装しています。グラフィックスが見栄えがするように、座標系を画面の中央から開始する必要があります。
(0,0) がビューの左上隅にある座標 (50,100) を持つポイントがあるとします。
座標系の始点を画面の中心 (つまり、幅/2、高さ/2) にしたい場合、同じ点の座標を取得するにはどうすればよいですか?
カスタム ビューを実装していて、その中に描画していて、同じビュー内の座標を変換したいだけであることに注意してください。私は基本的にグラフィック電卓を実装しています。グラフィックスが見栄えがするように、座標系を画面の中央から開始する必要があります。
iOSの問題としてタグ付けしたことに気付いたので、AppleがUIViewに組み込んだ方法を使用してください:
(CGPoint)convertPoint:(CGPoint)point fromView:(UIView *)view
使用する中間点を見つけます。100x100 の画面の場合、これは (50,50) になります。次に、変換する必要がある点を取得し、点 X の値から中点 X の値を引き、中点 Y の値から点 Y の値を引きます。両方の値に対して同じ操作を行っていないことに注意してください。
したがって、ポイントが (30,25) の場合、30 - 50 = -20 および 50 - 25 = 25 であるため、新しいポイントは (-20,25) になります。