.save()
и .restore()
- вполне допустимый способ сделать это.Ваша проблема - это классическая ошибка Aync в том, что ваш .restore()
код вызывается до вашего обратного вызова.Другими словами, это происходит:
context.save()
context.restore();
function(){
context.fillStyle = pattern;
}
вставьте context.restore()
внутрь вашей функции обратного вызова.