使用带偏移的RotateTransform问题旋转图像

时间:2012-01-27 19:54:47

标签: c# silverlight xaml

这是我的XAML:

<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>

我将图像绑定到数据源并使用转换器来获取Bitmap。那部分有效。但是,我想让它旋转,我在我的VM中设置RotateAngle。问题是 - 所有图像都有不同的尺寸,我不知道如何设置CenterX和CenterY。有没有其他方法只改变方向而不计算额外的X和Y?

1 个答案:

答案 0 :(得分: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>