Estoy tratando de trazar una línea sobre un fondo de imagen, en un lienzo HTML5. Sin embargo, siempre la línea se dibuja detrás de la imagen. En realidad, la línea se dibuja primero y luego las imágenes se dibujan, independientemente de cómo llamo a las funciones.Canvas HTML5: ¿cómo dibujar una línea sobre un fondo de imagen?
¿Cómo llevo la línea a la parte superior de la imagen?
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.clearRect(0, 0, canvas.width, canvas.height);
drawbackground(canvas, context);
drawlines(canvas, context);
function drawbackground(canvas, context){
var imagePaper = new Image();
imagePaper.onload = function(){
context.drawImage(imagePaper,100, 20, 500,500);
};
imagePaper.src = "images/main_timerand3papers.png";
}
function drawlines(canvas, context){
context.beginPath();
context.moveTo(188, 130);
context.bezierCurveTo(140, 10, 388, 10, 388, 170);
context.lineWidth = 10;
// line color
context.strokeStyle = "black";
context.stroke();
}
caso de que se drawbackground la última línea (lienzo, el contexto, drawlines (lienzo, contexto)); ? –
No, porque en ese caso llamaría al método 'drawlines' y luego usaría su valor de retorno como parámetro. – Chango
Gracias! Funcionó . –