Я нашел этот код для тонировки файла изображения в холсте. Мне интересно, что такое ctx.save и ctx.restore для этого контекста оттенков? Зачем это нужно здесь?Почему сохранение и восстановление используются при тонировании этого изображения?
function recolor(color) {
ctx.save();
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(pic, 0, 0);
ctx.globalCompositeOperation = "source-in";
ctx.fillStyle = color;
ctx.rect(0, 0, canvas.width, canvas.height);
ctx.fill();
ctx.restore();
var img = new Image();
img.src = canvas.toDataURL();
return (img);
}
http://www.tutorialspoint.com/html5/canvas_states.htm – epascarello