Приложение D: Gamma correction
(Это приложение является
информативным, а не формальным)
See the Gamma
Tutorial in the PNG specification [12] if you aren't
already familiar with gamma issues.
In the computation, UAs displaying on a CRT may assume
an ideal CRT and ignore any effects on apparent gamma caused by
dithering. That means the minimal handling they need to do on
current platforms is:
- PC using MS-Windows
- none
- Unix using X11
- none
- Mac using QuickDraw
- apply gamma 1.39 [13]
(ColorSync-savvy applications may simply pass the sRGB
ICC profile [14]
to ColorSync to perform correct color correction)
- SGI using X
- apply the gamma value from /etc/config/system.glGammaVal
(the default value being 1.70; applications running on
Irix 6.2 or above may simply pass the sRGB ICC profile to
the color management system)
- NeXT using NeXTStep
- apply gamma 2.22
"Applying gamma" means that each of the
three R, G and B must be converted to R'=Rgamma,
G'=Ggamma, G'=Bgamma,
before handing to the OS.
This may rapidly be done by building a 256-element
lookup table once per browser invocation thus:
for i := 0 to 255 do
raw := i / 255;
corr := pow (raw, gamma);
table[i] := trunc (0.5 + corr * 255.0)
end
which then avoids any need to do transcendental math
per color attribute, far less per pixel.
Содержание