Wpf 围绕大画布移动(缩放和平移)

Wpf 围绕大画布移动(缩放和平移),wpf,animation,canvas,zooming,pan,Wpf,Animation,Canvas,Zooming,Pan,我有很多图片放在画布上,大约150页转换成PDF。 我希望能够通过设置缩放和平移运动的动画,从画布的一个区域移动到另一个区域 我的动画关键点位于列表框中。我有一个播放按钮来播放所有的内容。 单击动画关键点时,相机会自动移动到定义的位置 这是一种普雷兹墙。这实际上只是答案的一半或四分之三,但希望你能填补空白。你可以试着用这个。首先,设置VisualBrush将使用完整画布绘制的视觉效果: 然后用画笔在一个矩形元素上绘制: 然后可以使用VisualBrush.Viewbox属性移动内容。现在我想有一

我有很多图片放在画布上,大约150页转换成PDF。 我希望能够通过设置缩放和平移运动的动画,从画布的一个区域移动到另一个区域

我的动画关键点位于列表框中。我有一个播放按钮来播放所有的内容。 单击动画关键点时,相机会自动移动到定义的位置


这是一种普雷兹墙。

这实际上只是答案的一半或四分之三,但希望你能填补空白。你可以试着用这个。首先,设置VisualBrush将使用完整画布绘制的视觉效果:

然后用画笔在一个矩形元素上绘制:

然后可以使用VisualBrush.Viewbox属性移动内容。现在我想有一些放大和缩小的方法,但我现在记不起来了

或者,您可以使用。您可以通过更改内容和ViewBox的大小来获得缩放效果,并通过使用ScrollViewer获得平移效果。有一篇关于StackOverflow的文章演示了这一点,因此请查看这篇文章,以获取有关此方法的更多帮助

VisualBrush visualBrush = new VisualBrush();
visualBrush.Visual = yourCanvasElement;
Rectangle rectangle = new Rectangle();
...
rectangle.Fill = visualBrush;