Я бы хотел скопировать ВСЕ содержимое одного холста и перенести их на другое на клиентской стороне. Я бы подумал, что я бы использовал методы canvas.toDataURL()
и context.drawImage()
для реализации этого, но я столкнулся с несколькими проблемами.
Моим решением было бы получить canvas.toDataURL()
и сохранить его в объекте Image в Javascript, а затем использовать метод context.drawImage()
, чтобы поместить его обратно.
Однако, я считаю, что метод toDataURL
возвращает 64-битный кодированный тег с "data:image/png;base64,"
, добавленным к нему. Это, похоже, не является допустимым тегом (я всегда мог бы использовать некоторый RegEx для его удаления), но является ли эта 64-битная кодированная строка ПОСЛЕ подстроки "data:image/png;base64,"
действительным изображением? Могу ли я сказать image.src=iVBORw...ASASDAS
и нарисовать это на холсте?
Я рассмотрел некоторые связанные проблемы: Показать изображение холста с одного холста на другой холст с использованием base64
Но решения не кажутся правильными.