Приложение D: Gamma correction. Спецификация CSS1
(Это приложение является информативным, а не формальным)
See the Gamma Tutorial
(http://www.w3.org/pub/WWW/TR/PNG-GammaAppendix) 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.
Назад
| Содержание
| Вперед