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