Tengo que generar una imágen final de 1200x630 a partir de 2 canvas que no necesariamente van a tener ese tamaño, por ejemplo al ver la aplicación desde un dispositivo móvil.
Esta es la parte de los canvas, voy dibujando fotos y elementos según acciones de los usuarios, esto funciona.
Código HTML:
<div> <canvas width="1200" height="630" id="canvas-foto">Tu navegador no soporta esta aplicación</canvas> <canvas width="1200" height="630" id="canvas-marco">Tu navegador no soporta esta aplicación</canvas> <canvas width="1200" height="630" id="canvas-wrapper">Tu navegador no soporta esta aplicación</canvas> </div> <button id="btn_guardar">Guardar</button>
Código HTML:
var canvas_marcos = document.getElementById("canvas-marco");
var ctx_marcos = canvas_marcos.getContext("2d");
var canvas_foto = document.getElementById("canvas-foto");
var ctx_foto = canvas_foto.getContext("2d");
var canvas_wrapper = document.getElementById("canvas-wrapper");
var ctx_wrapper = canvas_wrapper.getContext("2d");
$('#btn_guardar').click(function(){
ctx_wrapper.drawImage(canvas_foto, 0, 0);
ctx_wrapper.drawImage(canvas_marcos, 0, 0);
var dataURL = canvas_wrapper.toDataURL();
var img = new Image();
img.onload = function(){
document.body.appendChild(img);
}
img.src = dataURL;
});
Aclaro que los elementos adentro de los canvas pueden ser reubicados por el usuario a través del drag & drop.
Saludos!


