【发布时间】:2010-12-04 08:23:52
【问题描述】:
在滚动查看器中放大/缩小图像时遇到问题。 当我使用放大按钮时,每次单击按钮时,我都会将图像宽度/高度的双重动画设置为原始大小的 1.25。将比例因子设置为 0.75 的缩小按钮也是如此。 到目前为止一切顺利。
问题在于,基于我相对于滚动查看器 id 中心单击的位置,我喜欢向点击点滚动。我基于此计算了一个 delta x/y,用于确定 x 和 y 轴上的滚动方向。
double deltaX = (ClickPosition.X - center.X)
double deltaY = (ClickPosition.Y - center.Y)
现在,在将增量应用于垂直和水平滚动条(也使用双动画进行动画处理)时,我必须考虑图像的当前缩放系数。
当我同时缩放和滚动时,最终位置不会到达我期望的位置。图像缩放的原点似乎总是在图像的 0,0(左上角),所以我不知道如何处理,因此单击中心的左侧比单击更能向左滚动中心的右侧。
例子: http://212.214.41.66/SilverlightZoom/RealQImageMapTestPage.html
【问题讨论】:
-
我查看了您的代码。为什么你使用宽度和高度而不是使用缩放变换来缩放图像有什么原因吗?
标签: silverlight zooming scrollviewer