Indexed color

These limits are often imposed by the target architecture's display adapter hardware, so it is not a coincidence that those numbers are exact powers of two (the binary code): 22 = 4, 24 = 16 and 28 = 256.

Such a palette is frequently insufficient to represent the image accurately; difficult-to-reproduce features such as gradients will appear blocky or as strips (color banding).

Many early personal and home computers had very limited hardware palettes that could produce a very small set of colors.

In most cases, however, the display hardware supports additional modes where only a subset of those colors can be used in a single image, a useful technique to save memory.

Other machines of this era had the ability to generate a larger set of colors, but generally only allowed a subset of those to be used in any one image.

In these cases it was common for the image to only allow a small subset of the total number of colors to be displayed at one time, up to 16 at once on the Atari and VT241.

Generally, these systems worked identically to their less-colorful brethren, but a key difference was that there were too many colors in the palette to directly encode in the pixel data given the limited amount of video memory.

A proposed extension to the TIFF Standard allows[6] non-RGB color palettes, but this was never implemented in software due to technical reasons.

Except for very low resolution graphic modes, early home and personal computers rarely implemented an "all-pixels-addressable" design - that is, the ability to change a single pixel to any of the available colors independently.

Also, the pixel bits and/or the scan lines of the video memory were commonly arranged in odd ways convenient for the video generator hardware (thus saving hardware costs in a cost-competitive market), but sometimes creating difficulty for the people writing graphics programs.

Early image file formats, such as PIC, stored little more than a bare memory dump of the video buffer of a given machine.

Indexed color saves a lot of memory, storage space, and transmission time: using truecolor, each pixel needs 24 bits, or 3 bytes.

Indexed color was widely used in early personal computers and display adapters' hardware to reduce costs (mainly by requiring fewer of the then-expensive RAM chips) but also for convenient image management with limited-power CPUs (of the order of 4 to 8 MHz), file storage (cassette tapes and low density floppy disks).

Notable computer graphics systems extensively (or even exclusively) using pseudocolor palettes in the 1980s include CGA, EGA, and VGA (for IBM PC compatibles), the Atari ST, and Amiga's OCS and AGA.

Later, the HTML web pages used the GIF along with other indexed color-supporting file formats such as PNG, to exchange limited-color images quickly and store them in limited storage space.

The Microsoft Windows boot logo screen in Windows 95, 98, ME, and 2000 Professional (which uses VGA 320x200x256 color display mode because it is the greatest common denominator on all PCs) employs this technique for the scrolling gradient bar across the bottom of the screen; the picture is a static image with no pixels rewritten after it is initially displayed.

Some techniques, such as color quantization, anti-aliasing and dithering combined together can create indexed 256-color images comparable to the original up to an acceptable level.

Indexed color images with rich but incompatible palettes can only be accurately displayed one at a time, as in a slideshow.

When it is necessary to show multiple images together, as in a mosaic of thumbnails, a common or master palette is often used, which encompasses as many different hues as possible into a single set, thereby limiting the overall accurate color availability.

A 2-bit indexed color image. The color of each pixel is represented by a number; each number (the index ) corresponds to a color in the color table (the palette ).