1

我正在使用 VB.NET 和 WinForms 尝试使用 X、Y、Z 值列表绘制“高度图”。X 和 Y 是位置值,其中 Z 是表示颜色的高度。

 45,-45,8.204196298
-45,-44.75,8.13728592
-45,-44.5,8.071285973
-45,-44.25,8.006181958
-45,-44,7.941959391
-45,-43.75,7.878603815
-45,-43.5,7.816100733
-45,-43.25,7.754435659
-45,-43,7.693594097
-45,-42.75,7.63356154
-45,-42.5,7.574323502
-45,-42.25,7.515865475
-45,-42,7.458172945
-45,-41.75,7.401231383
-45,-41.5,7.345026304
-45,-41.25,7.289543171
-45,-41,7.234767467
-45,-40.75,7.180684665
-45,-40.5,7.12728024
-45,-40.25,7.074539664
-45,-40,7.02244838
-45,-39.75,6.970991892
-45,-39.5,6.920155634

我面临两个主要问题:

首先,我假设我需要System.Drawing使用一些绘制事件,但是我应该如何绘制 XYZ 值(例如,我应该在图片框、面板等上绘制点吗?)做这个?我假设我需要为我的点列表中的每个位置绘制一个 1x1 矩形。

其次,我一直在研究如何为我的 Z 系列选择颜色。我阅读了另一篇 SO 帖子,其中建议使用 HSL/HSV(http://en.wikipedia.org/wiki/HSL_and_HSV)来表示递增的颜色值而不是 RGB 变化,因为它“更接近”用户对颜色的期望过渡)。我该怎么做?我是否保持静态颜色,然后为每个 Z 差异增加色调?如何相应地添加/修改色调以提供起始 RGB 颜色,以便我可以在画笔上使用它来绘制 1x1 矩形?

4

0 回答 0