0

私は正常に動作している C# で Mandlebrot Fractal を設計しています...質問は、カラー サイクリングと呼ばれるものを実際にすべての RGB カラーを循環させたいということです...ビットマップをしたがって、各ピクセルを通過しますか???? どうすればこれを達成できますか?? これに何時間も取り組んでいますが、本当にわかりません。

ありがとう

4

2 に答える 2

3

@Pyritie に同意し、RGB ではなく HSV を使用します。例については、この質問を参照してください。

次に、次のコードを試して、ビットマップのパレット カラーを設定します。

var bitmap = new Bitmap(width, height, width, PixelFormat.Format8bppIndexed);

ColorPalette palette = bitmap.Palette;
palette.Entries[0] = Color.Black;
for (int i = 1; i < 256; i++)
{
    // set to whatever colour here...
    palette.Entries[i] = Color.FromArgb((i * 7) % 256, (i * 7) % 256, 255);
}
bitmap.Palette = palette;

元のクレジットは Jon Skeet のもので、彼の TPL デモからのものだと思います。

于 2012-10-15T11:43:15.190 に答える
3

RGB の代わりにHSVを使用すると、3 つの値を管理しようとする代わりに 1 つの値をインクリメント (およびモジュロ) するだけなので、おそらく色の循環がはるかに簡単になります。

于 2012-10-15T10:59:57.153 に答える