2009-12-29 2 views
1

실버 라이트에서 15도 회전 한 사각형 셰이프가 있습니다. 그것은 이미지로 가득 차 있습니다. SL의 일반적인 동작은 Fill 객체를 부모 (이 경우에는 사각형)로 회전시키는 것입니다.Shape (Silverlight)의 채우기 개체에 대한 변형을 무시하는 방법?

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> 

답변

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> 

경로는 모든 지오메트리 데이터에 포함하고, 충전이 영역에 그려진 수용 할 수있는 직사각형 영역을 갖는 끝난다. Rectangle 지오메트리는 회전 변환이 적용된 상태로 그려지며 지오 메트릭 내부에 표시되는 채우기의 일부만이 실제로 나머지 부분이 클리핑되어 표시됩니다. 따라서 원하는 출력을 얻을 수 있습니다.

+0

위대한 작품입니다. 감사합니다. Anthony! –