【发布时间】:2017-05-03 17:57:50
【问题描述】:
我正在为一款流行游戏开发热图(或者更确切地说是热散点图工具)工具。我对 WPF 很陌生,我需要在 WPF 的 Canvas 中绘制数千个点,并试图找到这样做的最佳方法。
每个点都有几个属性: ARGB 中的 X、Y 坐标和颜色(基于热值的 alpha,单色而不是多色)。
到目前为止,我的想法是有一个方法,它接收坐标和 A、R、G 和 B 值,并向画布的子对象添加一个椭圆。这似乎不是最有创意的选择,所以我想问问是否有人知道更好的方法来做我想做的事情。
【问题讨论】:
-
取决于您的程序的业务需求,您可以查看
WPF中的光栅图像 支持。绘制大量颜色信息的速度明显更快,但缩放等功能可能需要更多的工作和计算能力。 -
你反对使用图书馆吗?有大量图表库可以很好地处理这个问题,而无需重新发明轮子。
-
除了 Tigran 所说的,您可能还想看看 WriteableBitmap 类,可能还想看看 WritableBitmapEx 库。
-
我确实已经实现了缩放和平移功能,我宁愿保留它。至于图书馆,我绝对可以看一下,只要它对我想要实现的目标有用(简单的蓝点和红点,不同的 alpha)。感谢您的回答!