Code

9df00cd3b9b04ea238af0755064e769188870fb5
[inkscape.git] / share / palettes / PaletteGen.py
1 import colorsys\r
2 \r
3 print '''GIMP Palette\r
4 Name: Inkscape default\r
5 Columns: 3\r
6 # generated by PaletteGen.py'''\r
7 \r
8 \r
9 # grays\r
10 \r
11 g_steps = 10\r
12 g_step_size = 1.0 / g_steps\r
13 \r
14 for i in range(0, g_steps + 1):\r
15     level = i * g_step_size\r
16     r, g, b = colorsys.hls_to_rgb(0, level, 0)\r
17     \r
18     rval = int(round(r * 255))\r
19     gval = int(round(g * 255))\r
20     bval = int(round(b * 255))\r
21     \r
22     if i == 0:\r
23         line = "%3s %3s %3s  Black" % (rval, gval, bval)\r
24     elif i == g_steps:\r
25         line = "%3s %3s %3s  White" % (rval, gval, bval)\r
26     else:\r
27         line = "%3s %3s %3s  %s%% Gray" % (rval, gval, bval, 100 - int(level * 100))\r
28     print line\r
29 \r
30     # add two more steps near white\r
31     if i == g_steps - 1:\r
32         level_m = level + 0.5 * g_step_size\r
33         r, g, b = colorsys.hls_to_rgb(0, level_m, 0)\r
34         rval = int(round(r * 255))\r
35         gval = int(round(g * 255))\r
36         bval = int(round(b * 255))\r
37         print "%3s %3s %3s  %s%% Gray" % (rval, gval, bval, 100 - int(level_m * 100))\r
38 \r
39         level_mm = level + 0.75 * g_step_size\r
40         r, g, b = colorsys.hls_to_rgb(0, level_mm, 0)\r
41         rval = int(round(r * 255))\r
42         gval = int(round(g * 255))\r
43         bval = int(round(b * 255))\r
44         print "%3s %3s %3s  %s%% Gray" % (rval, gval, bval, 100 - (level_mm * 100))\r
45 \r
46 \r
47 # standard HTML colors\r
48 print '''128   0   0  Maroon (#800000)\r
49 255   0   0  Red (#FF0000)\r
50 128 128   0  Olive (#808000)\r
51 255 255   0  Yellow (#FFFF00)\r
52   0 128   0  Green (#008000)\r
53   0 255   0  Lime (#00FF00)\r
54   0 128 128  Teal (#008080)\r
55   0 255 255  Aqua (#00FFFF)\r
56   0   0 128  Navy (#000080)\r
57   0   0 255  Blue (#0000FF)\r
58 128   0 128  Purple (#800080)\r
59 255   0 255  Fuchsia (#FF00FF)'''\r
60 \r
61 # HSL palette\r
62 h_steps = 15\r
63 s_steps = 4\r
64 l_steps = 11\r
65 h_step_size = 1.0 / h_steps\r
66 s_step_size = 1.0 / s_steps\r
67 l_step_size = 1.0 / l_steps\r
68 \r
69 for h in range(0, h_steps):\r
70     for s in range(1, s_steps):\r
71         for l in range(1, l_steps):\r
72             hval = h * h_step_size\r
73             sval = 1 - (s * s_step_size)\r
74             lval = l * l_step_size\r
75             \r
76             r, g, b = colorsys.hls_to_rgb(hval, lval, sval)\r
77             \r
78             rval = int(round(r * 255))\r
79             gval = int(round(g * 255))\r
80             bval = int(round(b * 255))\r
81             \r
82             line = "%3s %3s %3s  #%02X%02X%02X" % (rval, gval, bval, rval, gval, bval)\r
83             print line\r