将百分比转换为从绿色 (100%) 到红色 (0%) 范围内的颜色的最简单方法是什么,黄色为 50%?
我使用的是普通的 32 位 RGB - 所以每个分量都是 0 到 255 之间的整数。我在 C# 中这样做,但我想对于这样的问题,语言并不那么重要。
根据 Marius 和 Andy 的回答,我正在使用以下解决方案:
double red = (percent < 50) ? 255 : 256 - (percent - 50) * 5.12;
double green = (percent > 50) ? 255 : percent * 5.12;
var color = Color.FromArgb(255, (byte)red, (byte)green, 0);
完美运行 - 我必须从 Marius 解决方案中进行的唯一调整是使用 256,因为 (255 - (percent - 50) * 5.12 在 100% 时产生 -1,由于某种原因导致 Silverlight 中的黄色 (-1, 255, 0 ) -> 黄色...