Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript画布global.alpha精度_Javascript_Canvas - Fatal编程技术网

javascript画布global.alpha精度

javascript画布global.alpha精度,javascript,canvas,Javascript,Canvas,我正在使用画布用JavaScript绘制图像,我想淡化图像的某些部分。为了做到这一点,我决定在绘制这些部分时使用globalAlpha,但是我在使用超过小数点1的数字时遇到了问题 如果使用0.9或0.8,效果很好,但如果使用0.95或0.85,则0.95和0.9或0.85和0.8之间没有差异。是否有任何方法可以达到这种精度?是的,更改globalAlpha(0.00-1.00)在视觉上不会与人眼呈线性关系。在您的情况下,您可能必须以更大的增量更改alpha,尤其是在alpha的上下限附近。例如,

我正在使用画布用JavaScript绘制图像,我想淡化图像的某些部分。为了做到这一点,我决定在绘制这些部分时使用globalAlpha,但是我在使用超过小数点1的数字时遇到了问题


如果使用0.9或0.8,效果很好,但如果使用0.95或0.85,则0.95和0.9或0.85和0.8之间没有差异。是否有任何方法可以达到这种精度?

是的,更改globalAlpha(0.00-1.00)在视觉上不会与人眼呈线性关系。在您的情况下,您可能必须以更大的增量更改alpha,尤其是在alpha的上下限附近。例如,将alpha从.95更改为.85,而不是从.95更改为.90。所以,人类在颜色区分方面不是很在行。但好的一面是,鸟类有惊人的颜色差异,所以你的宠物鹦鹉甚至可以在你的图像中看到最轻微的阿尔法变化。:-)“没有区别”是什么意思?您是否重新读取了绘制的像素,并且它们的alpha通道字节是相同的?同意,alpha的数学像素值是线性的——我不是说浏览器有问题。:-)但是人眼很难看到阿尔法差异。人类可以很好地看到绿色阿尔法颜色的变化,但在其他颜色上有困难——这就是人类的进化。啊,我想他可能是对的,我放大了非常近的距离,我想我现在可以看到它的变化了