2

ScrollViewer にアタッチされた ContentPresenter にビットマップ イメージ (2000 x 2000) があります。そのため、画像をズームしたりスクロールしたりできます。

画像に対するマウスの x,y 座標を知る簡単な方法はありますか? つまり、マウスを画像の上に置くと、マウスが通過するピクセルの対応する x、y が返されますか?

最悪のシナリオは、ウィンドウの端からのオフセットを計算し、マウスの x、y にスクロールとズームの係数を掛けることです。

これを処理する WPF に既に組み込まれているメソッドがあるかどうか疑問に思っていました。

4

1 に答える 1

1

これにより、Contentviewer とスクロールバーのビットマップ上のマウスの「ズーム」および「パン」オフセットが計算されます。

                ImageSource imageSource = image.Source;
            BitmapImage bitmapImage = (BitmapImage)imageSource;
             pixelMousePositionX = e.GetPosition(image).X * bitmapImage.PixelWidth / image.Width;
             pixelMousePositionY = e.GetPosition(image).Y * bitmapImage.PixelHeight / image.Height;
于 2013-05-26T18:55:08.283 に答える