Je souhaite copier TOUS les contenus d'un canevas et les transférer à un autre côté client. Je pense que j'utiliserais la méthode canvas.toDataURL()
et context.drawImage()
pour implémenter ceci mais je me heurte à quelques problèmes.Comment copier le contenu d'un canevas sur un autre canevas en local
Ma solution serait d'obtenir Canvas.toDataURL()
et de le stocker dans un objet Image en Javascript, puis d'utiliser la méthode context.drawImage()
pour le replacer.
Cependant, je crois que la méthode toDataURL
renvoie un tag codé 64 bits avec "data:image/png;base64,"
ajouté. Cela ne semble pas être une balise valide, (je pourrais toujours utiliser certains RegEx pour supprimer ceci), mais est-ce que la chaîne encodée en 64 bits APRÈS le "data:image/png;base64,"
soustrait une image valide? Puis-je dire image.src=iVBORw...ASASDAS
, et dessiner ce retour sur la toile?
J'ai regardé quelques questions connexes: Display canvas image from one canvas to another canvas using base64
Mais les solutions ne semblent pas être correct.
un petit point qui m'a fait trébucher: alors que vous pouvez dessiner une toile ('HTMLCanvasElement'), vous * ne pouvez pas * dessiner un contexte (' CanvasRenderingContext2D'). Utilisez 'myContext.canvas' à la place. – Dave
Commentaire @Dave est un ** DOIT LIRE ** ... woud donner +10 si possible;). @ Robert-Hurst doit compléter sa réponse par ce commentaire car il ne précise pas d'où vient le 'source canvas' ... –
Pourriez-vous donner un exemple? – ShibinRagh