我正在为 Windows Phone 8 开发与图像相关的应用程序。在完成所需的图像处理后,我目前在“图像”工具箱项中显示输出,这对我来说似乎效果很好。这里的编码是用 C# + XAML 完成的。
现在我想改进 UI 并使输出图像可缩放(使用捏缩放)。我想知道如何创建这样一个可以缩放的 UI 元素。
我了解这可能是许多应用程序开发人员的共同要求。但我一直无法找到很多相同的参考。
我正在为 Windows Phone 8 开发与图像相关的应用程序。在完成所需的图像处理后,我目前在“图像”工具箱项中显示输出,这对我来说似乎效果很好。这里的编码是用 C# + XAML 完成的。
现在我想改进 UI 并使输出图像可缩放(使用捏缩放)。我想知道如何创建这样一个可以缩放的 UI 元素。
我了解这可能是许多应用程序开发人员的共同要求。但我一直无法找到很多相同的参考。
下载windows phone工具包并使用GestureService.GestureListener
xml:
...
xmlns:tk="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
...
<Image Source="myImage.jpg" RenderTransformOrigin="0.5, 0.5" CacheMode="BitmapCache">
<Image.RenderTransform>
<CompositeTransform x:Name="transform" />
</Image.RenderTransform>
<tk:GestureService.GestureListener>
<tk:GestureListener PinchStarted="OnPinchStarted" PinchDelta="OnPinchDelta" />
</tk:GestureService.GestureListener>
</Image>
后面的代码:
double initialScale = 0;
private void OnPinchStarted(object sender, PinchStartedGestureEventArgs e) {
initialScale = transform.ScaleX;
}
private void OnPinchDelta(object sender, PinchGestureEventArgs e) {
transform.ScaleX = initialScale * e.DistanceRatio;
transform.ScaleY = initialScale * e.DistanceRatio;
}