ズーム付きのキャンバス(ScaleTransform)があります。これで、任意のズーム値でキャンバスを拡大縮小しました。すべてのMouseDownイベントでMouseDownポイントにRectangleGeomtryを追加しています。しかし、奇妙なことに、ShapeがMouseDownPointに+/-dxと+/-dyでキャンバスに追加されています。
なぜこれが起こっているのかについてのリードは大いにありがたいです。
ズーム付きのキャンバス(ScaleTransform)があります。これで、任意のズーム値でキャンバスを拡大縮小しました。すべてのMouseDownイベントでMouseDownポイントにRectangleGeomtryを追加しています。しかし、奇妙なことに、ShapeがMouseDownPointに+/-dxと+/-dyでキャンバスに追加されています。
なぜこれが起こっているのかについてのリードは大いにありがたいです。
スケーリングされたキャンバスでは、ポイントの逆変換(Scale and Translate)を取得し、ジオメトリを構築した後に変換(Scale and Translate)を適用する必要があります。機能した。それが最善の方法かどうかはわかりません。
スケール変換を適用すると、すべてのポイントが変換(移動)されます。たとえば、ポイントA(10,20)があり、画像に2のスケールを適用すると、ポイントAはA(20,40)になります。スケーリングされた画像にポイントを追加する場合は、そのように座標を調整する必要があります...(スケールを掛ける)