J'ai plusieurs toiles qui sont utilisées comme calques.
canvas c1 = background image. canvas c2 = charactor image. canvas c3 = item image.
Mon code source est le suivant.
Installez trois toiles au même endroit.
<div canvas="canvas-wrap"> <canvas class="canvas" id="c1"> <canvas class="canvas" id="c2"> <canvas class="canvas" id="c3"> </div> .canvas-wrap{ width: 600px; height:500px; max-width: 100%; position: relative; padding: 0; box-sizing: content-box; } .canvas{ position: absolute; left:0; top:0; border: 0; max-width:100%; box-sizing: content-box; padding: 0; margin: 0; }
Maintenant, je souhaite exporter ces toiles au format jpg.
J'ai un code source qui peut exporter une toile, mais je souhaite exporter un jpg à partir de trois toiles.
function saveCanvas(canvas_id) { var canvas = document.getElementById("c1"); var a = document.createElement('a'); a.href = canvas.toDataURL('image/jpeg', 0.85); a.download = 'download.jpg'; a.click(); }
C'est possible, mais une meilleure façon est d'utiliser 1 toile et de tout y dessiner.
Ici, nous créons un canevas virtuel, parcourons tous les canevas pour y dessiner des données, puis enregistrons l'image générée par ce canevas.