我正在用 C# 设计一个 Mandlebrot 分形,它工作正常...问题是我想循环遍历所有的 rgb 颜色,我认为这就是所谓的颜色循环...我知道我需要将位图转换为托盘,因此贯穿每个像素????我将如何实现这一目标?现在工作了几个小时,真的不确定。
谢谢
使用HSV而不是 RGB 可能会使颜色循环变得更容易,因为您只需递增(并取模)单个值,而不是尝试管理其中的 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 演示。