如何在地图上重叠两个CGRect时避免增加alpha分量?

时间:2016-03-12 18:13:51

标签: objective-c heatmap cgrect

我正在为iOS开发Objective-c中的应用程序。我有一些与我从CoreData获得的gps坐标相关的数据,我想在地图上用一些颜色表示某些CGRect来表示数据,以制作一种热图。我能够做到这一点,但我的问题是,如果有两个更重叠的CGRect,CGRects的alpha组件被加总,所以如果有很多重叠的CGRects,我会失去透明度。我的问题是,是否存在避免这种情况并在不失去透明度的情况下绘制重叠的CGRects。也许某些东西会裁剪掉之前的CGRect并添加新的CGRect。

有什么想法吗? 谢谢你的建议。

1 个答案:

答案 0 :(得分:2)

您可以将没有透明度的矩形绘制到CGLayerUIImage,然后使用所需的透明度在地图上绘制该图层/图像。

或者,您可以尝试使用其他混合模式,可能是kCGBlendModeSourceAtop