2012-01-27 40 views
4

这里旋转图像是我的XAML:使用RotateTransform问题与偏移

<Image 
       VerticalAlignment="Center" HorizontalAlignment="Center" 
       Source="{Binding Input, Converter={StaticResource ByteArrayToBitmapConverter}}"> 
       <Image.RenderTransform> 
        <RotateTransform Angle="{Binding RotateAngle}" CenterX="100" CenterY="100"></RotateTransform> 
       </Image.RenderTransform> 

      </Image> 

我结合图像数据源和使用转换器来获取位图。该部分起作用。不过,我想让它旋转,并在我的VM中设置RotateAngle。问题是 - 所有图像都有不同的尺寸,我不知道如何设置CenterX和CenterY。有没有其他方法可以在不计算额外的X和Y的情况下改变方向?

回答

6

没有时间自己测试,但我认为RenderTransformOrigin可能适合你。


<Image VerticalAlignment="Center" HorizontalAlignment="Center"
Source="{Binding Input, Converter={StaticResource ByteArrayToBitmapConverter}}" RenderTransformOrigin="0.5,0.5">
<Image.RenderTransform> <RotateTransform Angle="{Binding RotateAngle}" > </RotateTransform> </Image.RenderTransform> </Image>

</code></pre>
+0

是的,这是票!谢谢。 – Barton 2012-07-31 18:55:03