Я хотел бы скопировать ВСЕ содержимое одного холста и перенести его на другой на стороне клиента. Я бы подумал, что использую метод canvas.toDataURL()and 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
Но решения кажутся неправильными.
HTMLCanvasElement), вы не можете нарисовать контекст (CanvasRenderingContext2D).myContext.canvasВместо этого используйте .