Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript画布绘图应用程序选择颜色_Javascript_Html_Canvas - Fatal编程技术网

javascript画布绘图应用程序选择颜色

javascript画布绘图应用程序选择颜色,javascript,html,canvas,Javascript,Html,Canvas,下面是允许用户绘制画布的代码。这很好,我遇到的问题是用javascript选择不同的颜色,这样用户就有了更多的颜色选择 这是绘图部件的代码 window.addEventListener("load", canvasAnimate, false); function canvasAnimate() { var canvas = document.getElementById('canvas'); context = canvas.getContext('2d');

下面是允许用户绘制画布的代码。这很好,我遇到的问题是用javascript选择不同的颜色,这样用户就有了更多的颜色选择

这是绘图部件的代码

window.addEventListener("load", canvasAnimate, false);

    function canvasAnimate() {
    var canvas = document.getElementById('canvas');
    context = canvas.getContext('2d');
    window.addEventListener('mousemove', MouseIsMoving, false);
    window.addEventListener('mousedown', sketchit, false);
    window.addEventListener('mouseup', dontDraw, false);
};

//  GLOBAL VARIABLES

    var mouseX;
    var mouseY;
    var MouseIsDown = false // this will be used to determine if the mouse is down or not


//   e means the event, this stores the mouse events in the variable mouseX and mouseY
    function MouseIsMoving(e) {
        mouseX = e.pageX - canvas.offsetLeft; //the offset makes the coordinates fit for     the canvas box
        mouseY = e.pageY - canvas.offsetTop;
        document.getElementById('mouseCoordinates').innerHTML = 'X: ' + mouseX + ' Y: ' +     mouseY;
        if (MouseIsDown) {
            context.lineTo(mouseX, mouseY);
            context.stroke();
        }
    }

    function sketchit(e) {
        context.beginPath()
        context.moveTo(mouseX, mouseY);
        context.lineTo(mouseX,mouseY)
        context.lineCap = 'round'; //default lineCap and lineWidth
        context.lineWidth = 3;
        context.strokeStyle = '#000000' //default color
        context.stroke();
        MouseIsDown = true;
    };

    function dontDraw() {
        if (MouseIsDown) {
            MouseIsDown = false;
        }
    }
您可以使用创建颜色选择器,具体外观取决于浏览器的实现

但目前,。其他浏览器将恢复为文本字段,用户可以在其中手动输入十六进制颜色。
如果您想要跨浏览器解决方案,可以使用或找到其他解决方案。

两个JavaScript颜色选择器应用程序:

第一个涵盖了IE6的所有浏览器,我认为如果您需要支持旧浏览器,这是最好的解决方案:

第二种是支持canvas标记的现代浏览器。我写了它,并称之为MasterColorPicker。它在一个包中提供多个不同的颜色选择器。它已经提供了超过标准的Photoshop颜色选择器,我正在对所有文件和整个项目的更新版本工作,这将是所有它可以


是您希望用户界面选择的颜色吗?是的,我希望用户选择不同的颜色。