将百分比转换为从绿色(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);
Run Code Online (Sandbox Code Playgroud)
完美的工作 - 只有我必须从Marius解决方案做的调整是使用256,因为(255 - (百分比 - 50)*5.12产生-1 100%时,由于某种原因在Silverlight中导致黄色(-1,255,0) ) - >黄...
给定两种颜色和n步,如何计算n种颜色,包括产生淡化效果的两种给定颜色?
如果可能的话,伪代码是首选,但这可能是用Java实现的.
谢谢!