我正在HTML5中创建颜色选择器,例如下面的渐变
它包含三个元素:
我设法创建了一个渐变和一种颜色,但是我不知道如何将纯色和两个渐变叠加在一起。我该怎么做?
(我可以提供我的代码,但是它很通用,不会有用)
您可以将两个渐变相互叠加:
水平渐变
从白色变为要使用的颜色(色相度),并具有100%饱和度和50%亮度:
var grH = ctx.createLinearGradient(0, 0, ctx.canvas.width, 0);
grH.addColorStop(0, '#fff');
grH.addColorStop(1, 'hsl(' + hue + ', 100%, 50%)');
ctx.fillStyle = grH;
ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
垂直
从黑色底部到顶部透明。
var grV = ctx.createLinearGradient(0, 0, 0, ctx.canvas.height);
grV.addColorStop(0, 'rgba(0,0,0,0)');
grV.addColorStop(1, '#000');
ctx.fillStyle = grV;
ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
结果
首先绘制水平然后在顶部绘制垂直将导致以下结果:
与演示中一样,创建滑块来更新色调调色板很容易。您无需像演示中那样重新创建从黑色到透明的渐变-只需将其缓存到屏幕外的画布上,并在每次更新时重新使用它,因为这样可以为您带来更高的性能。
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句