2011-12-29 2 views

답변

1

쉽게 사용할 수있는 해결책은 없습니다. 또한 사용중인 CGPath의 기능에 따라 다릅니다. 일련의 요점 일 경우 일반 line with rectangle intersection test을 사용할 수 있습니다.

다른 모든 것 (예 : 베 지어 커브 및 직사각형 교차)은 이 될 것입니다.

+0

감사합니다. 저는 실제로 곡선이 아니라 육각 모양입니다. 이 라인들을 육각형과 분리시켜야하나요, 아니면 별개의 라인으로 취급할까요? –

1

순수 사각형 비교의 경우 CGPathGetBoundingBox을 사용하여 경로의 경계 상자를 얻은 다음 CGRectIntersectsRect을 사용하여 교차가 발생하는지 확인할 수 있습니다.

+0

이것 역시 유용합니다, 고맙지 만, 저에게 그것은 경로의 경계 상자를 감지하고 싶지 않고 임시적인 해결책 일뿐 아니라 올바른 모양입니다. –

1

성능 요구에 따라 CGRect로 클리핑하여 1 비트 딥 비트 맵을 그립니다. 그런 다음 픽셀을 스캔하십시오. (이 기술은 한 지점을 테스트하는 데 더 적합합니다.)

+0

이 접근법은 또한 저에게 호소합니다. 고맙습니다. 나는 그것을 시도 할 것입니다. –

관련 문제