Colour Modes

There are lots of different graphics formats that you can store your images in. Each of these stores information about the colours used in your image in one of a variety of different ways. The way in which this information is recorded in the image file as well as the way that it is referenced from within your graphics program is called the colour mode. Each colour mode uses a different method of storing the information about the colours used in the image and most restrict the number of colours used to some particular maximum number of colours.

The most important thing to remember about colour modes is that whenever you switch from one colour mode to another that either supports fewer colours or which tracks the colours in a different way, information about the colours used in your image is lost. For this reason you need to think carefully about which colour mode is the most appropriate to work with in your program depending on what the image is and what you intend to do with it. By selecting an appropriate colour mode when you first capture or create the image will ensure that the accuracy of the colours in the image is maintained.

So what are the colour mode choices? Let's start with the mode with the broadest colour range and work our way down to the one with the smallest range.

The mode with the largest colour space that I am going to consider here is 16 bit RGB mode. This is basically a three channel mode recording the red, green, and blue components of each colour in a separate channel. Each channel uses 16 bits meaning that 65,536 variations of each of the three component colours can be recorded but that each pixel in the image requires six whole bytes of storage to record its colour information. Only professional graphics designers would normally bother with such a memory intensive graphics mode as this as most of us will never need the 281,474,976,710,656 (that's 281 million million) colours that this mode provides.

If we reduce each channel to 8 bits (one byte) then we get standard RGB mode. This is the mode that we will want to use to work on most of our colour images as this is the mode that our monitors use when we select 24bit or 32bit colour. In this instance we still have three channels for the red, green, and blue components of each colour but now we only have 256 different shades of each colour or 16,777,216 (that's 16 million) colours. Each pixel will require three bytes to hold its colour information but most file formats based on this colour mode will use some form of compression to reduce the space required in the file.

CMYK colour mode is the mode that our colour printers use. This mode uses four 8 bit channels one each for cyan, magenta, yellow, and black. Surprisingly although this mode uses more memory to record the information about each pixel, the number of different colours that are supported by this mode are fewer than in standard RGB mode. It used to be necessary to convert images to this mode if getting them professionally printed but most printing companies can now handle an RGB mode file.

We can get effective colour images using only 256 colours or even fewer if we use indexed colour mode. In this mode the information about each of the colours to be used is stored in a colour palette and the colour of each pixel is identified by referencing the entry in the palette. This means that an image using quite a few different colours can be represented by only one byte per pixel plus the space to record the colour palette. While you may want to convert to this mode if the file format you are using to store your image uses this mode (eg. gif) you will probably want to keep the original of your colour image using a file format that supports standard RGB mode. With this colour mode there is also the option where fewer than 256 colours are required to create a smaller palette and use fewer bits to record the palette entry corresponding to each pixel. 128 colours only requires 7bit, 64 colours 6bit, 32 colours 5bit, 16 colours 4bit (that's two pixels per byte), 8 colours 3 bit, 4 colours 2bit (that's 4 pixels per byte), and two colours 1 bit (8 pixels per byte).

Greyscale mode uses a single channel to record just the black component of the image which means that we have an image that displays only shades of grey (including black and white) but no colour information at all. This means that we use only one byte per pixel and don't need a palette. This is the ideal mode to use to create black and while images where you don't need colour. Some programs also give you the option of colourizing a greyscale image by storing separate hue and saturation values that are applied to each bit in the image. This is the most effective way of creating sepia tone images.

Finally we have bitmap mode where individual bits correspond to pixels in the image. With this mode we only have two colours and these are black and white. This mode is useful for creating line art and also uses the smallest amount of storage for a given sized image.

The two of these modes that you will probably work with most are standard RGB mode for your colour images and greyscale mode when you don't need colour. If you start working in one of these two modes then chances are that the only time that you will need to swap to another mode is when you need to store the resultant image in a file type that uses a different mode. In this instance you are probably best off to save the original image using a file format that supports the mode that you are working in and then create a copy using the alternate mode. Any future changes to the image can then be made to the original before recreating the alternate mode copy. In this way you can cut down on the colour inaccuracies that are introduced each time that you change an image from one mode to another.

Your particular graphics program may or may not refer to the different modes using the names that I have used here. Some programs may instead refer to a number of channels and a number of bits per channel. Where these programs refer to four channels they mean CMYK mode, three channels is RGB mode, and one channel is greyscale mode. If the program makes reference to a palette (and the option is not greyed out) then it is using indexed colour mode. Where a program makes reference to colour depth it means either the number of colours in the palette or the number of different colour values in each channel. Where these are expressed as a number of bits the total number of colours is two to the power of the specified number.