2

ズーム付きのキャンバス(ScaleTransform)があります。これで、任意のズーム値でキャンバスを拡大縮小しました。すべてのMouseDownイベントでMouseDownポイントにRectangleGeomtryを追加しています。しかし、奇妙なことに、ShapeがMouseDownPointに+/-dxと+/-dyでキャンバスに追加されています。

なぜこれが起こっているのかについてのリードは大いにありがたいです。

4

2 に答える 2

1

スケーリングされたキャンバスでは、ポイントの逆変換(Scale and Translate)を取得し、ジオメトリを構築した後に変換(Scale and Translate)を適用する必要があります。機能した。それが最善の方法かどうかはわかりません。

于 2011-12-14T10:35:29.313 に答える
0

スケール変換を適用すると、すべてのポイントが変換(移動)されます。たとえば、ポイントA(10,20)があり、画像に2のスケールを適用すると、ポイントAはA(20,40)になります。スケーリングされた画像にポイントを追加する場合は、そのように座標を調整する必要があります...(スケールを掛ける)

于 2011-12-13T09:11:50.997 に答える