0

我正在使用仅支持颜色 RGB 分量的字节值的 API。我试图区分可变数量的项目,比如 8 到 12 个。我想为每个项目分配一种颜色。因此,如果有 10 个项目,我会将范围划分为 10 个并为每个项目分配相应的颜色(想想彩虹)。看起来toArgb()可行,但更多读数表明可能使用十六进制。我显然需要提取 RGB 值以发送回 API。

我怎样才能做到这一点?

4

1 回答 1

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
}
于 2013-02-21T11:18:10.090 回答