0

色のRGBコンポーネントのバイト値のみをサポートするAPIを使用しています。さまざまな量のアイテム、たとえば8と12を区別しようとしています。各アイテムに色を割り当てたいと思います。したがって、アイテムが10個ある場合は、範囲を10に分割し、各アイテムに対応する色を割り当てます(虹を考えてください)。動作するように見えましtoArgb()たが、16進数を使用する可能性があることを示すより多くの読書。APIに送り返すには、明らかにRGB値を抽出する必要があります。

どうすればこれを達成できますか?

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 に答える