实现画布撤销

  • 每次画完后,保存当前的画布图像数据(用数组保存每一步的画布图像数据)
  • 每次进行撤销操作,抛出数组最后的图片数据并加在到画布上
  1. var img = []; //储存图像数据
  2. //复制图像数据,用于撤销
  3. var imgData = context.getImageData(0,0,canvas.width,canvas.height);
  4. img.push(imgData)
  5. //加载上次图像数据,实现撤销
  6. context.putImageData(img.pop(),0,0);