我可以使用CGRectUnion()結合rect1和rect2並獲得組合rect3的罰款。CGRectUnion()會是什麼樣子?
是否有可能從rect3中減去rect1(其中包含rect1)並獲得rect的剩餘部分?
我可以使用CGRectUnion()結合rect1和rect2並獲得組合rect3的罰款。CGRectUnion()會是什麼樣子?
是否有可能從rect3中減去rect1(其中包含rect1)並獲得rect的剩餘部分?
布拉德·拉爾森說,你不能這樣做的石英,因爲功能的CGRect什麼也沒有,但rects及其零件(點,大小和單號)的工作。
如果您在編程Mac,我會建議使用另一個名爲HIShape的API。它是QuickDraw區域的現代繼任者,因此它具有非矩形形狀的能力。不幸的是,儘管HIShape在64位Mac OS X上仍然可用,但它在iOS上不可用。
如果你真的需要這樣的東西,你將不得不自己寫下來,包括你自己的HIShape-like不一定 - 矩形的形狀類。
嘗試CGRectIntersection,如果我能正確理解你。
嗯,這取決於......在rect3如何包含Rect1的... 我的意思是,它可能發生所產生的區域不再是一個矩形... 例如,如果Rect1的是所有裏面rect3剩餘區域不是rect,所以你不能使用CGRect對象。 爲了防止rect3和rect1完全分享一方並讓它(全部)共同,您可以獲得一個rect。所以我需要知道你想通過減法獲得什麼樣的對象... 它可能是一個新的圖像與2個不同的區域着色?或者將切割區域切割成更多的棋子(上部矩形,左側,比特爾,右側...) 你打算如何處理結果的「對象」?
盧卡
`CGRectUnion()`並不真正做矩形的真正聯合,它只是返回完全包含兩個源矩形的最小矩形。你期待什麼樣的結果類型?我懷疑在大多數情況下減法會提供一個矩形。 – 2011-01-25 21:55:49
密切相關:[從CGRect中減去CGRect - 不包含其他內容的最大部分](http://stackoverflow.com/q/4811623)。根據那裏的圖表,選擇的定義是結果是第一個不與第二個相交的子矩形。這當然不完全是減法,但它可能是有用的。 – 2013-07-06 21:58:07