Windows Phone Silverlight 8.1 图像缩放

3

我有一个 Windows Phone Silverlight 8.1 应用程序。我想要缩放图像。这是我的代码片段。问题在于它不会在捏的地方进行缩放。它总是在图像的左上角进行缩放。任何帮助将不胜感激。谢谢。

private void Image_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
    if (e.PinchManipulation != null)
    {
        var transform = (CompositeTransform)img.RenderTransform;

        // Scale Manipulation
        transform.ScaleX = e.PinchManipulation.CumulativeScale;
        transform.ScaleY = e.PinchManipulation.CumulativeScale;

        // Translate manipulation
        var originalCenter = e.PinchManipulation.Original.Center;
        var newCenter = e.PinchManipulation.Current.Center;
        transform.TranslateX = newCenter.X - originalCenter.X;
        transform.TranslateY = newCenter.Y - originalCenter.Y;

        e.Handled = true;
    }
}
2个回答

0
你需要设置 transform.CenterXtransform.CenterY

0

我认为最好的方法是将图像放在ScrollViewer中,这样系统操纵将免费完成所有缩放操作。

<ScrollViewer>
    <Image />
</ScrollViewer>

如果这不是你问题的答案,请告诉我,我会删除我的帖子。

这不行。这样做图像视图不会缩放。这就是为什么没有将其放入滚动查看器中的原因。 - shahid610169

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接