gpt4 book ai didi

c# - Windows Phone 7 中的可缩放图像

转载 作者:太空狗 更新时间:2023-10-29 21:24:20 26 4
gpt4 key购买 nike

我正在尝试使我的 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,其中列出了用于深度缩放图 block 的图像。

我使用 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;
}

如果您还想处理旋转图像,请取消注释旋转线。

山姆

关于c# - Windows Phone 7 中的可缩放图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6891504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com