When you draw you need a space to draw on to. We call this space a Bitmap.

A Bitmap is made up of tiny colored blocks called pixels. You can specify how many pixels wide and high your Bitmap is.


Pixels vary in size and most image files embed a DPI (dots per inch) value for the image. Points are a traditional typographic measurement comprising 1/72 of an inch so 72 dpi is common. The Windows OS is historically 96 dpi so 96 is common too.

There are a variety of ways you can specify the color of a pixel. The most common of these is the RGB color space. For this there are three components for each pixel; specifying respectively the red, green and blue intensity of the color. Traditionally these are assigned values between 0 and 255 but ultimately those translate into component values between zero and one - 0% and 100% intensity.

CMYK is a subtractive color space used for printing. In this color space there are four components specifying respectively; the cyan, magenta, yellow and black ink levels for each color. Traditionally these are assigned values between 0 and 100 representing the percentage of ink required. Again ultimately those translate into component values between zero and one. In theory CM and Y is all you should need for a color, but inks are real things and 100% CMY tends to turn out dark brown rather than black - hence the addition of K. How one should trade off varying levels of CMY against K to produce the right color is complex - the subject of dissertations.

Grayscale is a color space with one component which represents the lightness of the shade of black. So it is like the opposite of the K in CMYK.

Often you will find an A value - Alpha - associated with a pixel. Alpha represents the level of opacity - so 0% is fully transparent and 100% is fully opaque. Alpha is not really part of a color space it is an addition to it. However because it is represented as a value per pixel it is common to find references to color spaces like RGBA - RGB with Alpha, or less commonly, CMYKA.