(配置多个颜色及位点实现渐变)
 
 
 

(滑动滑块,将实时展示对应位置的颜色)
位置:0%

(复制JS Canvas代码用于业务场景)
<canvas id="canvas"></canvas>
<script>
    const canvas = document.querySelector('#canvas')
    const context = canvas.getContext('2d', {willReadFrequently: true})
    const CANVAS_WIDTH = canvas.width = canvas.clientWidth
    const CANVAS_HEIGHT = canvas.height = canvas.clientHeight
    // 创建渐变
    let g = context.createLinearGradient(0, 0, CANVAS_WIDTH, 0)
    // 设置渐变 
    g.addColorStop(0, '#00cc00') 
    g.addColorStop(0.5, '#ffff00') 
    g.addColorStop(1, '#ff0000') 
    // 填充样式
    context.fillStyle = g
    // 绘制渐变矩形
    context.fillRect(0, 0, CANVAS_WIDTH, CANVAS_HEIGHT)

    // 获取线性渐变某个位置(范围0-1)的点的颜色
    function getCanvasPointColor(pos) {
        pos = pos * (CANVAS_WIDTH - 1)
        let imageData = context.getImageData(pos, 0, 1, 1);
        let pixel = imageData.data;
        let r = pixel[0]
        let g = pixel[1]
        let b = pixel[2]
        return`rgb(${r},${g},${b})`
    }
</script>
                    

说明
1、本工具可以通过设置多个颜色及点位,实现多色线性渐变的效果,有助于扩充对web颜色的掌握
2、渐变效果使用canvas绘制,颜色选择对话框复用了 Web RGB颜色 页面的实现效果,并进行了组件封装
3、如果有关于Javascript进行渐变色的绘制及取色的需求,可以拷贝下方代码供参考
4、如果有任何的意见或建议,可以在公众号「有点才艺的孟仔」上留言