2012-09-20 3 views
0

문자를 나타내는 GraphicsPath가 있습니다. RectangleF와 교차하는지 확인하고 싶습니다. Region.Intersect를 사용하기에는 너무 느립니다. 속도에 대한 정확도를 희생하고자하므로 문자를 사각형의 특정 숫자 (예 : 2)로 나눌 수 있다고 생각합니다. 편지의 대부분을 덮는다. 예를 들어, P를 줄기와 머리에 각각 2 개의 직사각형으로 나눈 다음 이것들과 비교한다. 내가 비교를 1000s 수행 할 것이므로 그것은 더 빠를 것이다. 점령 된 공간을 가장 잘 다룰 수있는 여러 개의 직사각형으로 그래픽 경로를 잘라내는 가장 좋은 방법은 무엇입니까? (예 : 머리가 넓어지고 꼬리가 더 길어집니다).그래픽 경로를 특정 수의 사각형으로 분할하는 방법

편집 : 당신은 또한 그것에 대해 역으로 생각할 수 있다고 생각합니다. 즉, 예를 들어 어떻게받을 수 있습니까? 그래픽 경로 경계 안에 있지만 겹치지 않는 2 개의 가장 큰 직사각형.

답변

0

중간 단계는 Region (GraphicsPath) 생성자와 Region.GetRegionScans() 메서드입니다. Region을 Rectangle으로 단 한번 분해하고, 반환 된 RectangleF []에 대해 수천 시간을 테스트함으로써 더 빠릅니다. 영역 크기를 줄이는 행렬을 전달하여 사각형의 수를 줄일 수 있습니다.

관련 문제