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 回答