Приложение D: Gamma correction. Спецификация CSS1
(Это приложение является информативным, а не формальным)
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.
Назад |
Содержание |
Вперед