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