与CGRectUnion()相反的是什么?

时间:2011-01-25 10:54:15

标签: iphone objective-c core-graphics

我可以使用CGRectUnion()将rect1与rect2结合使用,并获得组合的rect3罚款。

是否可以从rect3(包含rect1)中减去rect1并获取rect的剩余部分?

3 个答案:

答案 0 :(得分:3)

正如Brad Larson所说,你不能在Quartz中这样做,因为CGRect函数除了rects及其组成部分(点,大小和单个数字)之外什么也不用。

如果您正在编程Mac,我建议您使用另一个名为HIShape的API。它是QuickDraw Regions的现代继承者,因此,它具有非矩形形状。不幸的是,尽管HIShape在64位Mac OS X上仍然可用,但它在iOS上不可用。

如果你真的需要这样的东西,你必须自己写,包括你自己的HIS形状不一定是矩形的形状类。

答案 1 :(得分:1)

如果我能正确理解你,请尝试使用CGRectIntersection。

答案 2 :(得分:0)

嗯,这取决于... rect3如何包含rect1 ... 我的意思是,可能会发生这样的结果区域不再是直肠...... 例如,如果rect1全部在rect3内,则剩余区域不是rect,因此您无法使用CGRect对象。 你可以获得一个矩形,以防万一rect3和rect1完全共享一个侧面,并将它(全部)共同使用。所以我需要知道你想通过减法获得什么样的对象...... 它可能是一个有两个不同区域着色的新图像吗?或更多CGrect切割resuting区域(上部rect,left,bitton,right ...) 你将如何处理由此产生的“对象”?

卢卡

相关问题