【问题标题】:Precision of alpha value in rgbargba 中 alpha 值的精度
【发布时间】:2013-10-20 14:46:31
【问题描述】:

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

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

【问题讨论】:

    标签: html html5-canvas alpha rgba


    【解决方案1】:

    精度应为 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 表示法提供,因此可以支持更高的 internal 颜色深度(即从 48 -bit 图像,12 位/通道)当前未公开。

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

    【讨论】:

    • 谢谢,这很有帮助。我也找不到关于画布位深度的任何文档。
    猜你喜欢
    • 2017-12-27
    • 2023-03-02
    • 2012-07-08
    • 2021-02-13
    • 1970-01-01
    • 2011-05-10
    • 2016-06-14
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多