gpt4 book ai didi

javascript - 我正在尝试在我的 Canvas 中实现撤消选项

转载 作者:行者123 更新时间:2023-11-28 17:57:35 25 4
gpt4 key购买 nike

我正在尝试在我的 Canvas 中实现撤消和重做选项。我在我的程序中使用以下代码:

var cPushArray = new Array();
var cStep = -1;
function cPush()
{
cStep++;
if (cStep < cPushArray.length)
{
cPushArray.length = cStep;
}
cPushArray.push(document.getElementById("drawingCanvas").toDataURL());
}

function cUndo()
{
if(cStep > 0)
{
cStep--;
var canvasPic = new Image();
canvasPic.src = cPushArray[cStep];
canvasPic.onload = function() { ctx.drawImage(canvasPic,0,0);}
}
}
function cRedo()
{
if(cStep < cPushArray.length-1)
{
cStep++;
var canvasPic = new Image();
canvasPic.src = cPushArray[cStep];
canvasPic.onload = function() {ctx.drawImage(canvasPic,0,0);}
}
}

但是如果我调用 cPush() 方法,我无法在我的 Canvas 上绘制任何东西。你能告诉我上面的代码哪里错了吗?

最佳答案

不要使用 onload 事件,因为它仅由 DOM 就绪事件触发。

var canvasPic = new Image();
canvasPic.src = cPushArray[cStep];
//if ctx has get the context of canvas, draw the pic immediately
ctx.drawImage(canvasPic,0,0);

关于javascript - 我正在尝试在我的 Canvas 中实现撤消选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21085157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com