C#颜色循环MandelBrot分形

时间:2012-10-15 10:49:09

标签: c# winforms colors

我正在用C#设计一个Mandlebrot Fractal,它工作得很好......问题是我想循环遍历所有rgb颜色,我认为这就是所谓的颜色循环...我知道我需要转换位图到托盘,因此贯穿每个像素????我怎么做到这一点?现在正在努力工作几个小时,真的不确定。

由于

2 个答案:

答案 0 :(得分:3)

使用HSV代替RGB可能会使循环颜色变得更加容易,因为您只需增加(和模数)单个值而不是尝试管理其中的3个。

答案 1 :(得分:3)

同意@Pyritie,使用HSV而不是RGB。 有关示例,请参阅this question

然后尝试使用此代码设置位图的调色板颜色:

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演示。