【问题标题】:WPF Image not displayed after rotation transformation旋转变换后WPF图像不显示
【发布时间】:2013-01-22 02:13:07
【问题描述】:

我想知道是否有人可以帮助我解决显示问题。我想使用下面的代码简单地允许顺时针旋转 90 度:

        RotateTransform rotateTransform = new RotateTransform();
        rotateTransform.CenterX = image1.Width / 2.0;
        rotateTransform.CenterY = image1.Height / 2.0;
         cW+= 90;

        rotateTransform.Angle = cW;

        TransformGroup transformGroup = new TransformGroup();
        transformGroup.Children.Add(rotateTransform);


        image1.RenderTransform = transformGroup;

在 XAML 中,当我定义图像的高度和宽度时,图像会旋转。但是,当设置为自动时,执行此代码后图像会消失。为什么会发生这种情况,我该如何解决这个问题?任何帮助将不胜感激。

【问题讨论】:

    标签: c# wpf image height width


    【解决方案1】:

    您可能需要使用图片的ActualHeightActualWidth

    RotateTransform rotateTransform = new RotateTransform();
    rotateTransform.CenterX = image1.ActualWidth / 2.0;
    rotateTransform.CenterY = image1.ActualHeight / 2.0;
    

    如果您明确设置高度和宽度,则它们是相同的。未设置时,高度和宽度未设置,因此您的中心是错误的。

    【讨论】:

    • 啊,非常感谢。我已经研究了几个小时,这是最简单的事情!
    • @Reed Copsey:转换后如何显式设置高度和宽度?
    • @Dev 你想设置转换后的高度/宽度吗?在这种情况下,您必须计算它,然后首先设置宽度/高度。
    • @Reed Copsey:我问过这个问题:stackoverflow.com/questions/25565828/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 2016-06-12
    • 2022-07-11
    相关资源
    最近更新 更多