He visto este código que permite tener un texto y moverlo por el Canvas, pues esto me gustaría unirlo de alguna forma con mi Código Canvas.
Se podría de alguna forma tener esta parte de código que permite mover el texto dentro de mi Canvas para poder mover el texto encima.
Espero puedan ayudarme. mi código es este:
fichero1.html
canvas.js
Código Javascript
:
Ver originalvar tiemposcambian = tiemposcambian || {};
tiemposcambian.GuardandoPNGs = (function() {
var mousePressed = false;
var lastX, lastY;
var ctx;
function init() {
// init canvas
//recojemos el canvas poniendo la id del canvas html5 para relacionarlo
var canvas = document.getElementById('canvas');
ctx = canvas.getContext('2d');
/*AÑADIDO*/
//creamos la nueva imagen
var img = new Image(290,333);
//le decimos la ruta de la imagen, en este caso html5.jpg
img.src = "img_canvas/camisa2.png";
img.onload = function() {
//uso el contexto del canvas y el metodo drawimage para cargar el objeto y la posición x e y
ctx.drawImage(img, 0, 0);
}
/*FIN AÑADIDO*/
resetCanvas();
/*
//Creamos una funcion que se ejecutará al iniciar la ventana
function img_canvas() {
//recojemos el canvas poniendo la id del canvas html5 para relacionarlo
var canvas = document.getElementById("img");
//Cojemos la 2D para dibujar en él
var context = canvas.getContext("2d");
//creamos la nueva imagen
var img = new Image(290,333);
//le decimos la ruta de la imagen, en este caso html5.jpg
img.src = "img/camisa2.png";
//pasamos la imagen al 2d del canvas y se dibujará
//en 0 0 podemos poner las cordenadas de donde empezar a dibujar la imagen
context.drawImage(img, 0, 0);
};
*/
// button events
document.getElementById('bt-save').onmouseup = sendToServer;
document.getElementById('bt-clear').onmouseup = resetCanvas;
// canvas events
canvas.onmousedown = function(e) {
draw(e.layerX, e.layerY);
mousePressed = true;
};
canvas.onmousemove = function(e) {
if (mousePressed) {
draw(e.layerX, e.layerY);
}
};
canvas.onmouseup = function(e) {
mousePressed = false;
};
canvas.onmouseleave = function(e) {
mousePressed = false;
};
}
function draw(x, y) {
if (mousePressed) {
ctx.beginPath();
ctx.strokeStyle = document.getElementById('color').value;
ctx.lineWidth = 4;
ctx.lineJoin = 'round';
ctx.moveTo(lastX, lastY);
ctx.lineTo(x, y);
ctx.closePath();
ctx.stroke();
}
lastX = x; lastY = y;
}
/**/
/*****************************************************************************/
function sendToServer() {
var data = canvas.toDataURL('image/png');
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
// request complete
if (xhr.readyState == 4) {
window.open('snapshots/'+xhr.responseText,'_blank');
}
}
xhr.open('POST','snapshot.php',true);
xhr.setRequestHeader('Content-Type', 'application/upload');
xhr.send(data);
}
function resetCanvas() {
// just repaint canvas white
ctx.fillStyle = '#EEEEEE';
ctx.fillRect(0, 0, canvas.width, canvas.height);
/*añadido*/
//creamos la nueva imagen
var img = new Image(290,333);
//le decimos la ruta de la imagen, en este caso html5.jpg
img.src = "img_canvas/camisa2.png";
//pasamos la imagen al 2d del canvas y se dibujará
//en 0 0 podemos poner las cordenadas de donde empezar a dibujar la imagen
//ctx.drawImage(img, 0, 0);
img.onload = function() {
//uso el contexto del canvas y el metodo drawimage para cargar el objeto y la posición x e y
ctx.drawImage(img, 0, 0);
}
/* fin añadido*/
}
return {
'init': init
};
});
window.onload = function() {
new tiemposcambian.GuardandoPNGs().init();
};
Y el fichero se guarda con el botón "GUARDAR" esta parte de código no creo sea necesaria..
Solo quisiera poder tener una forma de escribir texto encima de este CANVAS.
Saludos y gracias a todos!!!