【发布时间】:2018-08-18 21:39:39
【问题描述】:
我目前正在为我正在制作的网站编写颜色选择器,并且 线性渐变似乎不会变成全白。 我正在使用画布来获取 RGB 颜色数据。 见this screenshot
如您所见,我得到的最大值为 254。 我使用以下函数将渐变绘制到画布上。
draw_color_square(hue){
var gradB = this.ctx.createLinearGradient(0, 0, 0, 255);
gradB.addColorStop(0, "white");
gradB.addColorStop(1, "black");
var gradC = this.ctx.createLinearGradient(0,0,255,0);
gradC.addColorStop(0, "hsla(" + hue + ",100%,50%,0)");
gradC.addColorStop(1, "hsla(" + hue + ",100%,50%,1)");
this.ctx.fillStyle = gradB;
this.ctx.fillRect(0, 0, 255, 255);
this.ctx.fillStyle = gradC;
this.ctx.globalCompositeOperation = "multiply";
this.ctx.fillRect(0, 0, 255, 255);
this.ctx.globalCompositeOperation = "source-over";
}
我已检查滑块是否转到位置 [0, 0]
【问题讨论】:
-
你能添加一个带有工作示例的 jsFiddle 吗?完成后提及我
-
@JorgeFuentesGonzález 这是 jsfiddle:jsfiddle.net/r1ka8ejx/29(请注意,除了 RGB 以外的值还不起作用)
标签: javascript canvas gradient