One of the problems that sometimes occurs in digital art is excessive regularity. While absolute repeatability is highly desirable in many applications, it is often flat and boring in the visual arts. The selection of colors in digital paintings and drawings is a particularly common case. The swatch palettes in Photoshop and similar programs offer a fixed set of perfectly regular colors, while a traditional painter's palette is inherently imprecise. In the paint program, selecting red always yields exactly the same red, while the natural media palette yields different reds each time, producing a more visually interesting result.

It's possible to use the supplied mixer interfaces to vary colors every few brushstrokes, but this is awkward and time-consuming. As a more elegant and naturalistic alternative, you could use some or all of the palettes below. (You can download all of them in a zip file by clicking here.

These were made by taking images of physical pigments from the catalogs of three of my favorite natural-media pigment vendors, Kremer Pigments, Sinopia, and Iconofile, and sorting them by hue. (It happens that I wrote a short Perl program to do the sorting, but it's probably more practical and adaptable to do it by hand to suit your personal preferences.)

In the case of Photoshop, you can choose a color from one of the palette images by hovering over it with the paintbrush/pencil tool and alt-clicking. The size of the sample, from a single-pixel point sample to a larger area average, can be set in the parameters for the eyedropper tool. Smaller samples yield more irregularity and larger samples less. Alternatively, you can apply a Gaussian blur to the palette images themselves to adjust the overall level of regularity.

Advanced Exercises

Left as an exercise for the programming-inclined reader—mainly because I haven't yet gotten around to doing it myself—is incorporating similar palettes into generative art programs. When a drawing routine requests a color, the value of a pixel in a certain range would be returned, resulting in slightly different results each time. A similar effect could be achieved more compactly by just using an array of RGB values and one or more randomization factors, but the use of a palette bitmap might be a more intuitive feature for non-technical users.