我正在尝试使用 CoreGraphics 在地图上绘制雷达数据。之前,我试图通过围绕每个单独的数据点创建路径然后填充适当的颜色来单独绘制每个数据点。所以对于这种方法,我必须有 4 个位置点和每个数据点的数据值。这样做结果证明成本太高,因为每张图像有 30,000 到 80,000 个数据点。
雷达数据以径向格式存储(360 个径向,每个包含 230 个数据点)。因此,我没有遍历每个数据点,而是仅遍历径向线。而不是每个数据点周围的路径,我有每个径向周围的路径。然后,我使用该特定渐变的颜色数组创建并绘制线性渐变 (CGGradientCreateWithColors)。
这种方法绘制速度比以前快很多,但仍然不够快。另一个问题是放大时数据的“平滑度”。渐变在径向中的每个数据点之间混合,因此您看不到单个像素。我不希望它这样做。我认为这是我最大的性能损失来自(计算每个数据点之间的梯度)。我宁愿将每个数据点绘制为离散的颜色。这看起来会更好,它应该表现得更好。
有没有办法为路径提供一组颜色(类似于我对渐变所做的),这将离散地绘制它们。我需要能够绘制这个而不必返回绘制单个数据点。
提前谢谢你,罗斯
编辑
第一张图片是我绘制的原始方式(通过单独绘制每个数据点)。这就是我希望它最终的样子。
第二张图是梯度,比之前效率高(虽然效率不够),但看起来不太对劲。