zoukankan      html  css  js  c++  java
  • HTML5、canvas颜色拾取器

     效果图:

    代码:

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>canvas 颜色拾取器</title>
        <style>
            #canvas {
                border: 1px solid red;
            }
            #block {
                display: inline-block;
                width:50px;
                height: 50px;
                vertical-align: top;
                background-color: black;
            }
        </style>
    </head>
    <body>    
        <canvas id="canvas" width="400" height="400">你的浏览器不支持canvas</canvas>
        <span id="block"></span>
        <script>
            //获取id 
            var canvas = document.getElementById("canvas");
            var ctx = canvas.getContext("2d");
            //绘制填充颜色块 
            for(var i = 0; i < 16; i++) {
                for(var j = 0; j < 16; j++) {
                    // gba(255,255,0) --->gba(255,0,0)
                    ctx.fillStyle = "rgb("+(255 - j*16)+","+(255 - i*16)+",0)";
                    ctx.fillRect(i*25,j*25,25,25);
                }
            }
            // 显示获取的颜色
            var block = document.getElementById("block");
            // 点击利用imgDate获取rgb值
            canvas.onclick = function(e) {
                var e = e || window.event;
                //e.layerX,e.layerY相对于绑定事件对象canvas的坐标
                var x = e.layerX;
                var y = e.layerY;
                // console.log(e);
                var imgData = ctx.getImageData(x,y,1,1);
                var r = imgData.data[0];
                var g = imgData.data[1];
                var b = imgData.data[2];
                
                block.style.backgroundColor = "rgb("+r+","+g+","+b+")";
            }
        </script>
    </body>
    
    </html>

     

  • 相关阅读:
    1253:抓住那头牛
    1251:仙岛求药
    1330:【例8.3】最少步数
    1329:【例8.2】细胞
    1216:红与黑
    1217:棋盘问题
    回溯法与深度优先搜索的关系
    自然数的拆分
    100——第35例
    100——第34例
  • 原文地址:https://www.cnblogs.com/CaktyRiven/p/5287774.html
Copyright © 2011-2022 走看看