c# – Windows Phone 7中的Zoomable图像
发布时间:2020-12-15 08:34:29 所属栏目:百科 来源:网络整理
导读:我正在尝试在我的 Windows Phone 7应用程序中制作可缩放的图像. (下面的代码)然而它起作用,图像剂量显示.有人可以把我放在正确的轨道上,这是正确的控制使用吗?如果是那么我做错了什么? controls:PivotItem Name="Header" Header="item1" Grid MultiScaleIm
我正在尝试在我的
Windows Phone 7应用程序中制作可缩放的图像. (下面的代码)然而它起作用,图像剂量显示.有人可以把我放在正确的轨道上,这是正确的控制使用吗?如果是那么我做错了什么?
<controls:PivotItem Name="Header" Header="item1"> <Grid> <MultiScaleImage Name="mainImage" /> </Grid> </controls:PivotItem> var imageurl = loginxml.Descendants("response").Elements("submissions").Elements("submission").Elements("file_url_screen").First().Value; //imageurl = https://inkbunny.net///files/screen/165/165693_CobaltHusky_random_anatomy_doodles.png Header.Header = loginxml.Descendants("response").Elements("submissions").Elements("submission").Elements("title").First().Value; DeepZoomImageTileSource img = new DeepZoomImageTileSource(new Uri(imageurl)); mainImage.Source = img; 编辑读取MultiScaleImage上的msdn,它不是要使用的控件.它需要一个特定的图像源(不是位图/ jpg) 解决方法
DeepZoomImageTileSource的URL不是图像URL,而是列出用于深度缩放图块的图像的XML文件的URL.
我使用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; } 如果要处理旋转图像,请取消注释旋转线. 山姆 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |