List of all colors in the palette (in order).
Returns a list of all palette colors as Gg.v4 values.
(* Count colors in palette *)
let colors = Spectrum_palettes.Terminal.Xterm256.color_list in
Printf.printf "Xterm256 has %d colors\n" (List.length colors)
(* Output: Xterm256 has 256 colors *)
(* Find average color *)
let colors = Spectrum_palettes.Terminal.Basic.color_list in
let sum_r, sum_g, sum_b, count =
List.fold_left (fun (r, g, b, n) color ->
let rgba = Spectrum_tools.Convert.Color.to_rgba' color in
(r +. rgba.r, g +. rgba.g, b +. rgba.b, n + 1)
) (0., 0., 0., 0) colors
in
let n = float_of_int count in
Printf.printf "Average: (%.2f, %.2f, %.2f)\n"
(sum_r /. n) (sum_g /. n) (sum_b /. n)
(* Print all colors *)
let colors = Spectrum_palettes.Terminal.Basic.color_list in
List.iter (fun color ->
let rgba = Spectrum_tools.Convert.Color.to_rgba color in
Printf.printf "RGB(%d, %d, %d)\n" rgba.r rgba.g rgba.b
) colors