URL-адрес для DeepZoomImageTileSource - это не URL-адрес изображения, а URL-адрес файла XML со списком изображений, которые будут использоваться для плиток с глубоким увеличением.
Я реализовал простое масштабируемое изображение следующим образом, используя набор инструментов silverlight:
<Image Name="MainImage" 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>
и в коде:
MainImage.Source = new BitmapImage(new Uri(url));
Затем объявите две переменные для вашего угла и масштаба:
double initialAngle;
double initialScale;
А затем обработать события жеста:
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;
}
Раскомментируйте линию вращения, если вы хотите также обработать поворот изображения.
Sam