我正在编写一个ViewController,它将在左侧有一个图例(标签和颜色框的垂直列表:Category1:黄色,Category2:gree,Category 3:蓝色,等等。)

用户可以点击列表中的一个项目,然后在UIView中绘制一个椭圆。我正在跟踪触摸事件,并且可以使用核心图形毫无问题地绘制椭圆。

下一步是绘制两个集合的交集。假设用户绘制绿色椭圆和红色椭圆,它们在某种程度上重叠。我想将十字路口涂成黄色(红色+绿色=黄色),但是对如何执行此操作没有任何想法。

我已经能够使用
然后,此外,我需要一种方法来让用户点击UIImage中的一个点,然后检索该像素所在的所有集合的交集。

最佳答案

如果您使用Core Graphics绘制椭圆,则可以更改blend mode以创建不同的外观。您想要的混合模式是加法,但Core Graphics似乎不支持它(可能是由于Quantel专利,尽管我认为已经过期)。您可以通过使用50%alpha和正常模式来创建类似的效果。也许其他模式之一可以提供看起来更好的东西。

如果这不起作用,则可以使用additive blending在OpenGL中进行。

关于iphone - CoreGraphics绘制椭圆的交集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15468848/

10-14 21:25