MapKit使用kCGBlendModeMultiply进行叠加

时间:2015-10-02 12:36:05

标签: ios mkmapview core-graphics mapkit mkoverlay

我有一个非常具体的MKMapView用例。我生成了大量的MKPolygons(大约15000)并在叠加层上渲染它们。为了提高性能,我执行以下步骤:

  1. 向地图视图添加一个叠加层,其大小为整个世界
  2. In - (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context我检查每个多边形是否包含在当前MapRect中(因为MapKit将地图划分为tile并将它们渲染到并行在不同的线程上)
  3. 如果多边形出现在当前矩形中,我创建一个CGPath并用相关颜色填充它。
  4. 在将混合模式更改为kCGBlendModeMultiply之前,一切正常。在那之后,我观察到一些我无法解释的奇怪和任意的渲染文物。我做了一些截图来描述问题:

    http://postimg.org/image/lzj1swss9/

    http://postimg.org/image/c0thsotyx/

    这是我用的代码 - (void)drawMapRect:(MKMapRect)mapRect zoomScale:(MKZoomScale)zoomScale inContext:(CGContextRef)context:

    on_status

    有没有人对Multiply Blending Mode有类似的体验,尤其是在MKMapView上使用它时?

0 个答案:

没有答案