0

我将 c# wpf 用于 Windows Surface 2.0。

我一直在处理我在 xmpl 文件中导入的一组图像。

我找到了一些文本示例,但对于他们使用 GDI+ 处理图像和动画的图像,但我不希望这样。

我现在要做的主要事情是旋转(变换旋转)图像并显示它正在旋转。

以下是我处理图像的方式:

Canvas.SetTop(image1, 0);
Canvas.SetLeft(image1, 200);

任何帮助将非常感激。

谢谢你。

4

2 回答 2

3

如果您想在没有用户交互的情况下自动旋转图像,请查看 Clemens 的答案。但是,如果您想通过触摸操作进行旋转,我发现将图像放在这样的位置很容易ScatterViewItem

<s:ScatterView>
    <s:ScatterViewItem CanMove="False" CanScale="False">
        <s:ScatterViewItem.Background>
            <ImageBrush ImageSource="yourImage.png" Stretch="UniformToFill"/>
        </s:ScatterViewItem.Background>
    </s:ScatterViewItem>
</s:ScatterView>

当然,您有必须放入 aScatterView及其内容的开销

于 2013-07-24T07:37:02.730 回答
2

您的问题不是很具体,并且有很多方法可以为图像的旋转设置动画。

一种简单的方法是将 a 分配给RotateTransformImageRenderTransform控件,然后Angle为这些 RotateTransforms 的属性设置动画。

<Image x:Name="image" Source="..."
       RenderTransformOrigin="0.5,0.5">
    <Image.RenderTransform>
        <RotateTransform/>
    </Image.RenderTransform>
</Image>

用这样的代码启动动画:

var transform = (RotateTransform)image.RenderTransform;
var animation = new DoubleAnimation(360, TimeSpan.FromSeconds(5));
transform.BeginAnimation(RotateTransform.AngleProperty, animation);

您可以在 MSDN 上的动画概述文章中开始阅读 WPF 中的动画。转换概述文章也可能会有所帮助。

于 2013-07-24T07:25:59.400 回答