我有這個畫布,你可以畫到它,但它只是在刷新頁面時工作,沒有人有這個解決方案,我試過window.onload
或使用image.onload
甚至canvas.onload
並沒有什麼作品,總是不得不刷新。畫布開始刷新
http://urieldevelop.com/draw/index.html那就是頁面。提前致謝。
這裏的代碼。
var atags = document.getElementsByTagName("a");
var canvas = document.getElementById('canvas');
var contexto = canvas.getContext("2d");
var width = 10, color = "#000", tipoDeLinea = "round", dibujando = false, x , y, mouseX = new Array(), mouseY = new Array();
function widthChange(n){
width = n;
}
function colorChange(col){
color = col;
}
function linea(t){
tipoDeLinea = t;
}
contexto.lineJoin = "bevel";
function punto (e) {
x = e.offsetX, y = e.offsetY;
dibujando = true;
contexto.beginPath();
contexto.moveTo(x, y);
}
function puntoArriba (e) {
dibujando = false;
}
function dibuja (e) {
x = e.offsetX, y = e.offsetY;
mouseX.push(x);
mouseY.push(y);
var MXlength = mouseX.length, MYlength = mouseY.length;
if(dibujando == true){
contexto.lineJoin = tipoDeLinea;
contexto.lineWidth = width;
contexto.strokeStyle = color;
contexto.moveTo(mouseX[MXlength - 2], mouseY[MYlength - 2]);
contexto.lineTo(mouseX[MXlength - 1],mouseY[MYlength - 1]);
contexto.closePath();
contexto.stroke();
contexto.fill();
if(mouseX.length > 2 && mouseY.length > 2){
mouseX.shift();mouseY.shift();
}
}
}
canvas.addEventListener('mousedown', punto, false);
canvas.addEventListener('mousemove', dibuja, false);
canvas.addEventListener('mouseup', puntoArriba, false);
canvas.addEventListener('mouseout', puntoArriba, false);
for (var i = 0; i < atags.length; i++) {
atags[i].addEventListener("click", previene, false);
}
function previene(e){
e.preventDefault();
}
對我的作品在Chrome – akonsu