0

我正在用 C# 设计一个 Mandlebrot 分形,它工作正常...问题是我想循环遍历所有的 rgb 颜色,我认为这就是所谓的颜色循环...我知道我需要将位图转换为托盘,因此贯穿每个像素????我将如何实现这一目标?现在工作了几个小时,真的不确定。

谢谢

4

2 回答 2

3

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

于 2012-10-15T10:59:57.153 回答
3

同意@Pyritie,使用 HSV 而不是 RGB。有关示例,请参见此问题

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

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 回答