body {
background-color:black;
}
#myCanvas {
background-color:rgba(55,23,88,0.5); // (bg_R,bg_V,bg_B,bg_A)
}
var myCanvas= document.getElementById("myCanvas");
gl = myCanvas.getContext("webgl", {
premultipliedAlpha: true ,
alpha:true
});
gl.clearColor(0.8, 0, 0, 0.5); // (ccR,ccV,ccB,ccA)
gl.clear(gl.COLOR_BUFFER_BIT);
现在我正在查看生成的画布的颜色:
rvba = 222,8,33,255
var myCanvas= document.getElementById("myCanvas");
gl = myCanvas.getContext("webgl", {
premultipliedAlpha: true ,
alpha:true
});
gl.clearColor(0.8, 0, 0, 0.5);
gl.clear(gl.COLOR_BUFFER_BIT);
var pixels = new Uint8Array( 4);
gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
console.log(pixels); // Uint8Array
* {
margin:0;
}
body {
background-color:black;
}
#myCanvas {
background-color:rgba(55,23,88,0.5);
}
<canvas id="myCanvas" ></canvas>
公式是什么?(final_R,final_V,final_B,final_A) = 函数 (bg_R,bg_V,bg_B,bg_A,ccR,ccV,ccB,ccA) ?
此外,如果 premultipliedAlpha 设置为 false,此函数如何更改?
谢谢 !
编辑:哎呀...我在屏幕截图中读取了画布的结果颜色...但是值每次都在变化,现在我有 rvba = 227,0,20,255
好的..截图是一个非常奇怪的想法......现在我使用 gl.readpixel,我得到了:[204, 0, 0, 128]
所以,有了这个非常不同的结果,我的问题已经过时了。
对不起 !