Color Palettes, Color Spaces, and Color Formats
Color Palettes, Color Spaces, and Color Formats
Note: Forgive me if this topic has already been discussed but I wasn't able to find a thread.
TL;DR
What is your preferred color space? sRGB, Adobe RGB, HSL, HSB, HSV, CMYK, something else?
What is your preferred color palette file type? PNG, HEX values, XML file, Gimp (GPL), Microsoft (and others) Color Palette (PAL), Adobe Color Table (ACT) / Swatch (ACO, ACE), something else?
Long Version:
I've been researching different color palettes, different representations of how we perceive color (spaces), and how we store/communicate colors electronically. Most pixel artists are familiar with things like:
- sRGB
- Adobe RGB
- HSB
- HSV
- HSL
- CMYK
- Likely others
When I started doing researching into color theory I discovered a number of other standards and color definitions to include:
- HCL
- YUV (PAL)
- YIQ (NTSC)
- XYZ (CIE 1931 color space)
- xyY (CIE xy chromaticity diagram)
- CIELAB
- Hunter Lab (1948)
- CIELCh or CIEHLC
- CIECAM02
- CIECAT02
There are a significant number of standards bodies and groups related to colorimetry but I'm not going to attempt to list them here.
To the point: I'm good at software. Color is a weird nebulous thing that I enjoy learning. It's hard for me to know or fully understand graphic design demands or what the right standards are to support. I made a thing for swapping color palettes:
https://williamthompsonj.github.io/Color-Palette-Swapper/
It supports palettes from PNG, Gimp GPL, and HEX value mapping. In looking at different programs I found these thingsCalled PAL files (binary color palettes). They are supported (preferred?) by pixel editing programs like GraphicsGale, Adobe PhotoShop, Gimp, and many other professional graphics editing tools. There are a number of color palette formats available:
- Indexed PNG (or scanning true color PNGs)
- Gimp GPL
- Microsoft (and other) PAL
- Adobe (ACO, ACE, ACT)
- XML formats
I want to know what are the most commonly used color spaces, what are the commonly desired color palette exchange formats, and what are the common complaints about each?
I am pretty old school and simple minded so just good old fashioned RGB works best for me. I also generally work with retro palettes (NES, SMS, etc) and that is how you'll typically find these palettes expressed so that helps too.
I like to store my palettes as a PNG file with square swatches for each color. There doesn't seem to be much a 'standard' palette format anyways so I find putting the colors on a grid in an image file the easiest and most portable approach.
I use the Gimp and my general work flow is to have the palette image open in one window and whatever I'm drawing open in another. Then I just use the color picker tool to manually grab colors from the palette as I need them. It's kind of a bizarre approximation of using a color selection bar in a palette based editor like GrafX or Deluxe Paint, but it works for me.
As far as writing colors out, I do find HEX representation easiest to deal with, just because you can encapsulate the whole color in one string. And over the years, I've gotten so I can read HEX pretty easily.
https://withthelove.itch.io/
I'm also quite fond of sRGB and HEX because they're easy to understand and communicate. My concept of color and how machines represent it has drastically changed after making a tool that's heavily focused on color palettes and color definitions though. Most of my color palettes are stored as PNG's with square color swatches too.
I still use Microsoft Paint for the majority of my needs (I know, how draconian) but I've learned to use other things like Paint.net and Gimp. I have CS6 master suite because my wife is a graphic designer but I've only just opened photo shop or illustrator out of curiosity, never done anything. I recently learned of the existence of GrafX and Deluxe Paint separately from this discussion and they both seem pretty good, though I don't have much experience with pixel art (or art in general) so hard to judge tools you don't know how to use properly.