【问题标题】:How to Ignore Transform for Fill Object in Shape (Silverlight)?如何忽略形状填充对象的变换(Silverlight)?
【发布时间】:2009-12-29 16:55:09
【问题描述】:

我在 Silverlight 中有一个旋转 15 度的矩形。它充满了图像。 SL 的正常行为是旋转 Fill 对象及其父对象(在本例中为矩形)。

有什么方法可以忽略 Fill 对象的变换效果?我希望图像在屏幕上继续指向北方。

这是我在下面的 XAML。我想看看是否有属性或其他方式不旋转 ImageBrush (image2.png)。

  <Rectangle x:Name="Rectangle_5_ID6" RenderTransformOrigin="0.5 0.5" Height="24" Width="78" Stroke="#000000" StrokeThickness="1" Canvas.Top="25" Canvas.Left="25">
    <Rectangle.RenderTransform>
      <TransformGroup>
        <RotateTransform Angle="15" />
      </TransformGroup>
    </Rectangle.RenderTransform>
    <Rectangle.Fill>
      <ImageBrush ImageSource="image2.png"  />
    </Rectangle.Fill>
  </Rectangle>

【问题讨论】:

    标签: silverlight transform


    【解决方案1】:

    有许多不同的方法,但我怀疑最适合您需求的方法是使用Path

    <Path x:Name="Rectangle_5_ID6" Stroke="Black" StrokeThickness="1" >
        <Path.Data>
            <RectangleGeometry Rect="0, 0, 78, 24" >
                <RectangleGeometry.Transform>
                    <RotateTransform Angle="15" CenterX="39" CenterY="12" />
                </RectangleGeometry.Transform>
            </RectangleGeometry>
        </Path.Data>
        <Path.Fill>
            <ImageBrush ImageSource="image2.png" />
        </Path.Fill>
    </Path>
    

    路径最终具有一个矩形区域,该区域可以容纳其数据中包含的所有几何图形以及绘制到该区域的填充。矩形几何图形是在应用旋转变换的情况下绘制的,只有出现在几何图形内的填充部分实际上是可见的,其余部分被剪裁。因此,您将获得所需的输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-15
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      • 2016-09-16
      • 1970-01-01
      相关资源
      最近更新 更多