5

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

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

4

1 回答 1

8

精度应为 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 画布(尽管我找不到任何支持文档!)。另请注意,目前,每个通道只能通过#AARRGGBB 表示法提供 8 位,因此虽然可能支持更高的内部颜色深度(即从 48 位图像加载时,每个通道具有 12 位),但目前不支持裸露。

2如果显示硬件较低(例如 16bpp 或 24bpp),那么在显示会出现一些内部精度损失。较低质量的显示器也容易出现偏差或校准不良。此外,环境中的照明对图像的感知方式有很大影响。

于 2013-10-20T15:10:12.590 回答