- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
计算机屏幕上像素的亮度通常与像素的数字 RGB 三元组值不线性相关。早期 CRT 的非线性响应需要补偿非线性编码,我们今天仍在继续使用此类编码。
通常我们在计算机屏幕上生成图像并在那里使用它们,所以一切正常。但是,当我们进行抗锯齿处理时,非线性(称为 Gamma )意味着我们不能仅将 0.5 的 alpha 值添加到 50% 覆盖的像素并期望它看起来正确。 alpha 值 0.5 的亮度仅为 alpha 1.0(典型 gamma 为 2.2)的 0.5^2.2=22%。
对于抗锯齿 Gamma 补偿,是否存在广泛确立的最佳实践?你有每天使用的宠物方法吗?有没有人看过对不同技术的图形输出质量的结果和人类感知的研究?
我曾考虑过进行标准 X^(1/2.2) 补偿,但这需要大量计算。不过,也许我可以使用 256 个条目的查找表使其更快。
最佳答案
查找表经常用于此类工作。它们很小而且速度很快。
但是无论是查找还是某些公式,如果最终结果是图像文件,并且格式允许,最好在文件中保存颜色配置文件或至少保存 Gamma 值以供以后查看,而不是尝试调整RGB 值自己设定。
原因:对于典型的字节值 R、G、B channel ,每个 channel 中的每个像素都有 256 个唯一值。这几乎足以使人眼看起来不错(我希望“字节”被定义为九位!)除了琐碎的值反转之外,任何类型的数学都会对其中一些值进行多对一映射。输出不会为每个像素的 R、G 或 B 提供 256 个值可供选择,但数量要少得多。这可能会导致轮廓、锯齿、色彩噪声和其他不良情况。
抛开精度问题不谈,如果需要任何体面的质量,所有堆肥、混合、混合、色彩校正、假镜头光晕添加、色度键控等都应该在线性 RGB 空间中完成,其中 R 的值、G和B与物理光强度成正比。图像数学模拟物理光数学。但当最终速度至关重要时,就有办法作弊。
关于graphics - 抗锯齿和 Gamma 补偿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2233651/
我是一名优秀的程序员,十分优秀!