繁体   English   中英

CGRectUnion()的反面是什么?

[英]What would be the reverse of CGRectUnion()?

我可以使用CGRectUnion()将rect1与rect2结合起来,并得到一个结合好的rect3。

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

正如布拉德·拉尔森(Brad Larson)所说,您无法在Quartz中做到这一点,因为CGRect函数只能使用rect及其组成部分(点,大小和单个数字)工作。

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

如果您确实需要类似这样的内容,则必须自己编写,包括自己的类似HIShape的不必要的矩形形状类。

如果我可以正确理解,请尝试CGRectIntersection。

好吧,这取决于... rect3包含rect1的方式...我的意思是,结果区域可能不再是rect ...例如,如果rect1全部位于rect3内,则其余区域不是rect,因此您不能使用CGRect对象。 您可以得到一个rect,以防rect3和rect1完全共享一面并将其(全部)共有。 因此,我需要知道通过该减法您将获得哪种对象……这可能是一张带有2个不同颜色区域的新图像吗? 还是在更多的CGrect区域(上矩形区,左侧,Bitton区,右侧区)中分割重排区域,您将如何处理生成的“对象”?

卢卡

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM