やあみんな、私はこの問題に2日間立ち往生しています。私はこのコードのビットを機能させることができないようです: http://www.taffatech.com/Paint.html 3 つのドットを描画し、元に戻すを 2 回クリックすると、本来の動作が実行されるので、やりすぎないことを願っています。修理。ここにある「元に戻す」と「やり直し」の2つのボタンに関連付けられた元に戻すやり直しをしました:
-更新、これはもっと理にかなっていますか?私はそれが機能していることを除いて、2つを削除し、その後は通常1つずつ削除します
function clearCanvas()
{
ctx.clearRect(0,0,canvasWidth,canvasHeight);
}
Stack1 = new Stack();
///////////////////
function Stack() {
var currentState = 0;
var maxStates = 10;
var stateArray = [];
var image = new Image();
image.id = "pic";
image.src = canvas.toDataURL();
stateArray.push(image);
this.add = function() {
var image = new Image();
image.id = "pic";
image.src = canvas.toDataURL();
stateArray.push(image);
currentState++;
}
this.undo = function () {
stateArray.pop();
currentState--;
clearCanvas();
var image = stateArray[curentState];
ctx.drawImage(image,0,0);
}
this.redo = function () {
alert("worry about later");
// if (stackIndex%stackSize == stackTop) return;
//clearCanvas();
//var tmpImg = new Image();
// tmpImg.src = drawStack[++stackIndex%stackSize];
// ctx.drawImage(tmpImg, 0, 0);
}
}