我将 c# wpf 用于 Windows Surface 2.0。
我一直在处理我在 xmpl 文件中导入的一组图像。
我找到了一些文本示例,但对于他们使用 GDI+ 处理图像和动画的图像,但我不希望这样。
我现在要做的主要事情是旋转(变换旋转)图像并显示它正在旋转。
以下是我处理图像的方式:
Canvas.SetTop(image1, 0);
Canvas.SetLeft(image1, 200);
任何帮助将非常感激。
谢谢你。
我将 c# wpf 用于 Windows Surface 2.0。
我一直在处理我在 xmpl 文件中导入的一组图像。
我找到了一些文本示例,但对于他们使用 GDI+ 处理图像和动画的图像,但我不希望这样。
我现在要做的主要事情是旋转(变换旋转)图像并显示它正在旋转。
以下是我处理图像的方式:
Canvas.SetTop(image1, 0);
Canvas.SetLeft(image1, 200);
任何帮助将非常感激。
谢谢你。
如果您想在没有用户交互的情况下自动旋转图像,请查看 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
及其内容的开销
您的问题不是很具体,并且有很多方法可以为图像的旋转设置动画。
一种简单的方法是将 a 分配给RotateTransform
ImageRenderTransform
控件,然后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 中的动画。转换概述文章也可能会有所帮助。