Color Interpolation

The color space used for calculations.

Relavant for:


Browsers mostly implement this consistantly (after some recent work).

Various filters.

Various filter primitives with different values of "color-interpolation-filters".


No browsers support color-interpolate="linearRGB"

Various filters.

Diferent values for color-interoplation. Top: sRGB, bottom: linearRGB.

Various filters.

If these three gradients look the same, your browser does not support color-interpolation="linearRGB". Top: default behavior ("sRGB"), middle "sRGB", bottom: "linearRGB"

Google I/O logo.

Google I/O Logo: sRGB.

Google I/O logo.

Google I/O Logo: linearRGB.

Up/down Scaling

Up/down scaling should be done in linearRGB:

Upscaling/downscaling test. Note 1x1 bitmap may be blurred (smoothed) by browser.

A good discussion at Gamma error in picture scaling web site.

Gimp now uses 16 bit color, scaling now done correctly. Photoshop also does the correct thing with 16/32 bit color. Interest is increasing in getting better color support: Xbox, Google Image Correction.


Similar issues.

Doing the Right Thing

Historicaly, sRGB space used for performance reasons. With more power computers and off-loading to GPU's, we should at least be able to specify that the browsers do the right thing.