javascript画布绘图应用程序选择颜色
下面是允许用户绘制画布的代码。这很好,我遇到的问题是用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');
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颜色选择器,我正在对所有文件和整个项目的更新版本工作,这将是所有它可以
是您希望用户界面选择的颜色吗?是的,我希望用户选择不同的颜色。