2011-12-29 25 views

回答

1

沒有現成的解決方案。這也取決於您使用的CGPath的哪些功能。如果它只是一系列點數,則可以使用常規的line with rectangle intersection test

其他一切(例如貝塞爾曲線和矩形相交)將是非常複雜

+0

感謝您的回覆。我的確沒有曲線,而是六角形。我是否必須創建與六邊形分開的這些線?還是將它們作爲單獨的線處理? – 2011-12-31 16:08:29

1

如果是純矩形比較,則可以使用CGPathGetBoundingBox來獲取路徑的邊界框,然後使用CGRectIntersectsRect來確定交點是否發生。

+0

這也很有用,謝謝,但對我來說,這只是一個臨時解決方案,因爲我不想檢測路徑的邊界框,而是它的正確形狀。 – 2011-12-31 16:25:26

1

根據性能需求,繪製一個1位深的位圖,剪切到CGRect。然後掃描一個像素。 (這種技術往往更適合於測試某一點。)

+0

這種方法也吸引我,非常感謝你,我會嘗試一下。 – 2011-12-31 16:23:13

相關問題