如何在WP7中放大和缩小图像?

Vay*_*age 19 c# silverlight silverlight-4.0 windows-phone-7

我已经制作了一个显示图像的应用程序.现在我想实现放大和缩小功能(通过使用两个指尖),如在本机Windows手机照片查看器应用程序.任何想法如何继续.

提前致谢.

Ant*_*nes 29

也许最方便的方法是包含Silverlight for Windows Phone Toolkit.这包含GestureService有助于捏合和旋转触摸手势的内容.您可以将它应用于这样的图像: -

 <Image Source="someSourceUrl" RenderTransformOrigin="0.5, 0.5" CacheMode="BitmapCache">
     <Image.RenderTransform>
         <CompositeTransform x:Name="transform" />
     </Image.RenderTransform>
     <toolkit:GestureService.GestureListener>
         <toolkit:GestureListener PinchStarted="OnPinchStarted" PinchDelta="OnPinchDelta" />
     </toolkit:GestureService.GestureListener>
 </Image>
Run Code Online (Sandbox Code Playgroud)

然后在代码隐藏中: -

    private void OnPinchStarted(object sender, PinchStartedGestureEventArgs e)
    {
        initialAngle = transform.Rotation;
        initialScale = transform.ScaleX;
    }

    private void OnPinchDelta(object sender, PinchGestureEventArgs e)
    {
        transform.Rotation = initialAngle + e.TotalAngleDelta;
        transform.ScaleX = initialScale * e.DistanceRatio;
        transform.ScaleY = initialScale * e.DistanceRatio;
    }
Run Code Online (Sandbox Code Playgroud)


小智 5

查看Laurent Bugnion的多点触控样本 - http://multitouch.codeplex.com/