/// <summary> /// Initialize <code>Palette</code> /// </summary> private void InitializePalette() { Palette = new uint[ArenaLevels]; GIFPalette = new GIF.ColorTable() { Table = new System.Drawing.Color[ArenaLevels], BackgroundColorIndex = ArenaLevels, }; for (int level = 0; level < ArenaLevels; ++level) { double h = 360.0 * level / ArenaLevels, s = 1.0, v = 1.0; double r, g, b; Tools.HsvToRgb(h, s, v, out r, out g, out b); int ri = (int)(255 * r); int gi = (int)(255 * g); int bi = (int)(255 * b); Palette[level] = (uint)(ri + 256 * gi + 65536 * bi) + 16777216u * 255u; GIFPalette.Table[level] = System.Drawing.Color.FromArgb(ri, gi, bi); } }