1

我在 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>
4

1 回答 1

1

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

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

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

于 2009-12-29T22:07:23.360 回答