rgba中alpha值的精度

时间:2013-10-20 14:46:32

标签: html html5-canvas alpha rgba

我在画布上绘制了数千个点,其中每个点都是一个小的alpha值的弧,基本上是一个密度图。起初我使用0.1作为alpha,但使用0.05获得更好的结果。我很惊讶0.05工作(Chrome),因为我从未在任何代码中看到小于1的小数精度。

是否有一些官方的alpha值精度,还是仅仅取决于浏览器的实现?

1 个答案:

答案 0 :(得分:5)

精度应为1/256(~0.004或约为“0.5%不透明度增量”) 1

范围是[0,1],此外的值没有意义 - 因为范围分别对应于完全透明(0%不透明)和100%不透明。将剪裁值以适合此范围。

两个账户的价值0.05都非常好(并且与0.1不同)。视觉变化(或视觉吸引力)的实际数量将取决于显示硬件 2 和人类感知 - 在任何情况下,我预计0.05为“95%透明”而0.1为“90%透明” %透明“。


1 这假设是一个8 alpha通道和一个底层32bpp画布(虽然我找不到任何支持文档!)。另请注意,目前,每个通道仅 8位可以通过#AARRGGBB表示法提供,因此可以支持更高的内部颜色深度(即从48加载时)位图像,12位/通道),目前尚未曝光。

2 如果显示硬件较低(例如16bpp或24bpp),则显示时会发生的内部精度损失。质量较差的显示器也容易出现偏差或校准不良。此外,环境中的照明可以对图像的感知方式起到很大的作用。