2009-08-18 5 views

답변

3

해결했습니다.

채우기 규칙이 EvenOdd 인 GeometryGroup을 포함하는 지오메트리 드로잉을 사용할 수 있습니다. 이것은 겹치는 모든 항목을 흰색으로 칠합니다. 그런 다음 Geometry 그룹과 동일한 객체를 포함하는 CombinedGeometry를 사용하여 다른 이미지를 상단에 놓습니다. GeometryCombineMode가 Intersect이고 사용자 브러시에서 교차를 강조 표시합니다. 샘플 코드는 다음과 같습니다.

<Grid> 
    <Image Stretch="None"> 
     <Image.Source> 
      <DrawingImage> 
       <DrawingImage.Drawing> 
        <GeometryDrawing Brush="Red"> 
         <GeometryDrawing.Pen> 
          <Pen Brush="Black" Thickness="3" /> 
         </GeometryDrawing.Pen> 
         <GeometryDrawing.Geometry> 
          <GeometryGroup FillRule="EvenOdd"> 
           <EllipseGeometry RadiusX="80" RadiusY="80" Center="0,0" /> 
           <EllipseGeometry RadiusX="80" RadiusY="80" Center="40,0" /> 
          </GeometryGroup> 
         </GeometryDrawing.Geometry> 
        </GeometryDrawing> 
       </DrawingImage.Drawing> 
      </DrawingImage> 
     </Image.Source> 
    </Image> 
    <Image HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Stretch="None"> 
     <Image.Source> 
      <DrawingImage> 
       <DrawingImage.Drawing> 
        <GeometryDrawing Brush="LightBlue"> 
         <GeometryDrawing.Geometry> 
          <CombinedGeometry GeometryCombineMode="Intersect"> 
           <CombinedGeometry.Geometry1> 
            <EllipseGeometry RadiusX="80" RadiusY="80" Center="0,0" /> 
           </CombinedGeometry.Geometry1> 
           <CombinedGeometry.Geometry2> 
            <EllipseGeometry RadiusX="80" RadiusY="80" Center="40,0" /> 
           </CombinedGeometry.Geometry2> 
          </CombinedGeometry> 
         </GeometryDrawing.Geometry> 
        </GeometryDrawing> 
       </DrawingImage.Drawing> 
      </DrawingImage> 
     </Image.Source> 
    </Image> 
</Grid> 

감사합니다.