2010-06-23 4 views
1

/그릴 스크린 디스플레이를위한 표준 축 정렬 직사각형 상으로 화상으로부터 단순한 사각형 잘라낸 맞게하는 방법이있다. (따라서 컷 아웃은 사각형 점을 채우기 위해 왜곡됩니다.) ImageBrush를 사용하여 가능해야한다고 생각하지만 실제로 볼 수는 없습니다. 당신이 자른 이미지를 보여주고 싶은 말은 경우WPF 콘텐츠가 매핑

답변

1

네,하지만 그것은 매우 쉽게 당신의 사각형에 다소 어려운 따라하는 범위. 사변형이 축에 정렬 된 사각형 인 경우

정렬이

를 직사각형, 당신은 CroppedBitmap를 사용할 수 있습니다.

정렬되지 않은 사각형 또는 다른 평행 사변형

사변형이 (사각형 포함) 임의의 평행 사변형 인 경우에는 사각형의 경계에 quatrilateral의 모서리를지도하고 설정하는으로 RenderTransform을 사용할 수 있습니다 ClipToBounds = "참" 그래서 컷 아웃 만 보여줍니다. 임의의 평행 사변형이 직사각형에 맵핑 될 수있는 상으로 RenderTransform 매트릭스 파라미터를 변화시킴으로써

<Decorator ClipToBounds="true"> 
    <Rectangle Fill="{StaticResource SourceImage}" RenderTransform="1 0 0 1 0 0" /> 
</Decorator> 

. 간단한 대수가 세부 사항을 제공합니다. 평행 사변형의 세 모서리를 행렬 변환 방정식에 연결하고 여섯 개의 변형 매개 변수를 풀면됩니다.

사변형이 평행하지

경우 임의의 사각형, 당신은 비 아핀 WPF의 2D 그래픽에서 사용할 수 없습니다하는 변환 사용해야합니다. 그러나 그것은 3D 시스템에서 사용할 수 있습니다 :

  • MeshGeometry3D는
  • 내부 자료 (당신의 ImageBrush와)를 정의하는
  • GeometryModel3D 내부의 사각형의 모양을 정의하기 : 당신은 네 개의 중첩 된 객체를 만들어야합니다
  • ModelVisual3D 카메라와 뷰포트를 정의하는
  • Viewport3DVisual 내부 변환하여 정의합니다.

Charles Petzold's blog에는 3D 솔루션에 대한 계산이 있습니다.