2013-08-13 1 views
0

목록에 생성 된 평행 사변형 (다각형)이 몇 개 있는데이를 캔버스에 추가합니다. 내가하기 전에 캔버스의 경계 안에 평행 사변형이 있는지 확인하고 싶습니다. 밖에 평행 사변형이있는 경우, 사용자가 어쨌든 그들을 보지 않을 것이기 때문에 나는 그들을 삭제할 수 있습니다.WPF는 캔버스 안에 다각형을 가지고 있습니다.

다각형이 캔바스 내부 (사각형 내부)에 있는지 테스트하는 빠른 방법이 있습니까? 아마도 Region을 사용하고 교차점을 테스트 할 수는 있지만 Polygon에서 Region을 작성하는 방법을 모르겠습니다. 사각형 다각형 형상의 Bounds 속성에서 반환 된 경우 확인 할 수 있습니다

+0

아니 빠른 방법. 볼 수없는 수백 또는 그 이상의 폴리곤을 다루지 않는 한 캔버스에 모든 폴리곤을 추가하는 것이 좋습니다. – Stewbob

답변

2

는 캔버스 사각형과 교차 :

var canvasRect = new Rect(canvas.RenderSize); 
var polygonRect = polygon.RenderedGeometry.Bounds; 
var intersects = canvasRect.IntersectsWith(polygonRect); 
+0

이것은 내가 찾고있는 것입니다. 대단히 감사합니다. 이것은 매우 잘 작동합니다! – godis