gpt4 book ai didi

wpf - WPF 效果变换中图像的 "Stretch"属性如何?

转载 作者:行者123 更新时间:2023-12-04 17:35:08 24 4
gpt4 key购买 nike

WPF 效果变换中图像的“拉伸(stretch)”属性如何?

我发现图像的 Stretch 属性会影响应用于它的变换。
当stretch=fill 时,一切都很好,但如果stretch=uniform,则变换被改变。
我不明白为什么会这样。请解释一下。

Image 1

Image 2

代码:

<Canvas Height="200" Width="200">
<Image Height="50" Width="50" RenderTransformOrigin="0.5,0.5" Source="Image.jpg" Stretch="Fill">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform Angle="200" />
<TranslateTransform X="100" Y="100"/>
</TransformGroup>
</Image.RenderTransform>
</Image>
<Rectangle Height="50" Width="50" RenderTransformOrigin="0.5,0.5" Fill="RoyalBlue" Opacity="0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<RotateTransform Angle="200" />
<TranslateTransform X="100" Y="100"/>
</TransformGroup>
</Image.RenderTransform>
</Rectangle>
</Canvas>
<Canvas Height="200" Width="200">
<Image Height="50" Width="50" RenderTransformOrigin="0.5,0.5" Source="Image.jpg" Stretch="Uniform">
<Image.RenderTransform>
<TransformGroup>
<RotateTransform Angle="200" />
<TranslateTransform X="100" Y="100"/>
</TransformGroup>
</Image.RenderTransform>
</Image>
<Rectangle Height="50" Width="50" RenderTransformOrigin="0.5,0.5" Fill="RoyalBlue" Opacity="0.5">
<Rectangle.RenderTransform>
<TransformGroup>
<RotateTransform Angle="200" />
<TranslateTransform X="100" Y="100"/>
</TransformGroup>
</Rectangle.RenderTransform>
</Rectangle>
</Canvas>

最佳答案

从我的测试来看,这似乎只是 Visual Studio 设计器预览此 XAML 的方式中的一个错误。

我已获取您的代码并将其加载到 Visual Studio 2010 和 Expression Blend 4 中。在 Visual Studio 的设计器中,我明白您在说什么。在 Expression Blend 中,预览是正确的。

最重要的是,当我运行应用程序时,它会正确呈现。所以我觉得你没问题。当您必须使用此控件时,请假装它不这样做或使用 Expression Blend。

关于wpf - WPF 效果变换中图像的 "Stretch"属性如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6075063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com