我正在使用仅支持颜色RGB组件的字节值的API。我试图区分可变数量的项目,比如介于8和12之间。我想为每个项目分配一种颜色。因此,如果有10个项目,我会将范围划分为10并为每个项目分配相应的颜色(想想彩虹)。看起来toArgb()
会起作用,但更多阅读表明可能使用十六进制。我显然需要提取RGB值以发送回API。
我该如何做到这一点?
答案 0 :(得分:0)
据我了解,您将输入颜色范围和项目数量。此外,您希望生成的颜色代表颜色渐变。
试试这个:
// set the edges of the color range
var firstColor = Color.Red;
var secondColor = Color.Green;
int rMin = firstColor.R;
int rMax = secondColor.R;
int bMin = firstColor.B;
int bMax = secondColor.B;
int gMin = firstColor.G;
int gMax = secondColor.G;
int size = 10;
for (int i = 0; i < size; i++)
{
var rAverage = rMin + (int)((rMax - rMin) * i / size);
var gAverage = gMin + (int)((gMax - gMin) * i / size);
var bAverage = bMin + (int)((bMax - bMin) * i / size);
var currentColor = Color.FromArgb(rAverage, gAverage, bAverage);
// TODO: use the currentColor
}