Eu gostaria de copiar TODOS os conteúdos de uma tela e transferi-los para outra no lado do cliente. Eu pensaria que usaria o método canvas.toDataURL()e context.drawImage()para implementar isso, mas estou tendo alguns problemas.
Minha solução seria obter Canvas.toDataURL()e armazenar isso em um objeto Image em Javascript e, em seguida, use o context.drawImage()método para colocá-lo de volta.
No entanto, acredito que o toDataURLmétodo retorne uma tag codificada de 64 bits com "data:image/png;base64,"anexada a ela. Isso não parece ser uma marca válida (eu sempre poderia usar algum RegEx para remover isso), mas será que a string codificada de 64 bits APÓS a "data:image/png;base64,"substring é uma imagem válida? Posso dizer image.src=iVBORw...ASASDASe desenhar isso de volta na tela?
Analisei alguns problemas relacionados: Exibir imagem de tela de uma tela para outra tela usando base64
Mas as soluções não parecem estar corretas.
HTMLCanvasElement), você não pode desenhar um contexto (CanvasRenderingContext2D). Use emmyContext.canvasvez disso.