Ver Mensaje Individual
  #6 (permalink)  
Antiguo 20/05/2014, 12:23
Avatar de HackID1
HackID1
 
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 9 meses
Puntos: 17
Respuesta: Guardar imagen CANVAS con php

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
Código HTML:
Ver original
  1. <canvas id="canvas" width="290" height="330"></canvas>
  2.  
  3. <div class="gui">
  4.       <input type="color" id="color" value="#FF9200">
  5.       <button id="bt-clear">Limpiar</button>
  6.       <button id="bt-save">Guardar</button>
  7. </div>
  8.  
  9. <script src= "script/canvas.js"></script>

canvas.js
Código Javascript:
Ver original
  1. var tiemposcambian = tiemposcambian || {};
  2.  
  3. tiemposcambian.GuardandoPNGs = (function() {
  4.   var mousePressed = false;
  5.   var lastX, lastY;
  6.   var ctx;
  7.  
  8.   function init() {
  9.     // init canvas
  10.         //recojemos el canvas poniendo la id del canvas html5 para relacionarlo
  11.     var canvas = document.getElementById('canvas');
  12.     ctx = canvas.getContext('2d');
  13.         /*AÑADIDO*/
  14.     //creamos la nueva imagen
  15.                     var img = new Image(290,333);
  16.                     //le decimos la ruta de la imagen, en este caso html5.jpg
  17.                     img.src = "img_canvas/camisa2.png";
  18.                                
  19.                     img.onload = function() {
  20.                         //uso el contexto del canvas y el metodo drawimage para cargar el objeto y la posición x e y
  21.                         ctx.drawImage(img, 0, 0);
  22.                        
  23.                     }
  24.                    
  25.                    
  26.         /*FIN AÑADIDO*/
  27.     resetCanvas();
  28.    
  29.     /*
  30.     //Creamos una funcion que se ejecutará al iniciar la ventana
  31.                 function img_canvas() {
  32.                     //recojemos el canvas poniendo la id del canvas html5 para relacionarlo
  33.                     var canvas = document.getElementById("img");
  34.                     //Cojemos la 2D para dibujar en él
  35.                     var context = canvas.getContext("2d");
  36.                     //creamos la nueva imagen
  37.                     var img = new Image(290,333);
  38.                     //le decimos la ruta de la imagen, en este caso html5.jpg
  39.                     img.src = "img/camisa2.png";
  40.                    
  41.                    
  42.                 //pasamos la imagen al 2d del canvas y se dibujará
  43.                 //en 0 0 podemos poner las cordenadas de donde empezar a dibujar la imagen
  44.                 context.drawImage(img, 0, 0);
  45.                 };
  46.     */
  47.  
  48.     // button events
  49.     document.getElementById('bt-save').onmouseup = sendToServer;
  50.     document.getElementById('bt-clear').onmouseup = resetCanvas;
  51.  
  52.     // canvas events
  53.     canvas.onmousedown = function(e) {
  54.       draw(e.layerX, e.layerY);
  55.       mousePressed = true;
  56.     };
  57.  
  58.     canvas.onmousemove = function(e) {
  59.       if (mousePressed) {
  60.         draw(e.layerX, e.layerY);
  61.       }
  62.     };
  63.  
  64.     canvas.onmouseup = function(e) {
  65.       mousePressed = false;
  66.     };
  67.    
  68.     canvas.onmouseleave = function(e) {
  69.       mousePressed = false;
  70.     };
  71.   }
  72.  
  73.   function draw(x, y) {
  74.     if (mousePressed) {
  75.       ctx.beginPath();
  76.       ctx.strokeStyle = document.getElementById('color').value;
  77.       ctx.lineWidth = 4;
  78.       ctx.lineJoin = 'round';
  79.       ctx.moveTo(lastX, lastY);
  80.       ctx.lineTo(x, y);
  81.       ctx.closePath();
  82.       ctx.stroke();
  83.     }
  84.     lastX = x; lastY = y;
  85.   }
  86.  
  87.     /**/
  88.    
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.   /*****************************************************************************/
  97.                
  98.   function sendToServer() {
  99.     var data = canvas.toDataURL('image/png');
  100.     var xhr = new XMLHttpRequest();
  101.     xhr.onreadystatechange = function() {
  102.       // request complete
  103.       if (xhr.readyState == 4) {
  104.        
  105.         window.open('snapshots/'+xhr.responseText,'_blank');
  106.       }
  107.     }
  108.    
  109.     xhr.open('POST','snapshot.php',true);
  110.     xhr.setRequestHeader('Content-Type', 'application/upload');
  111.     xhr.send(data);
  112.   }
  113.  
  114.   function resetCanvas() {
  115.     // just repaint canvas white
  116.     ctx.fillStyle = '#EEEEEE';
  117.     ctx.fillRect(0, 0, canvas.width, canvas.height);
  118.    
  119.     /*añadido*/
  120.     //creamos la nueva imagen
  121.                     var img = new Image(290,333);
  122.                     //le decimos la ruta de la imagen, en este caso html5.jpg
  123.                     img.src = "img_canvas/camisa2.png";
  124.     //pasamos la imagen al 2d del canvas y se dibujará
  125.                 //en 0 0 podemos poner las cordenadas de donde empezar a dibujar la imagen
  126.                 //ctx.drawImage(img, 0, 0);
  127.                
  128.                 img.onload = function() {
  129.                         //uso el contexto del canvas y el metodo drawimage para cargar el objeto y la posición x e y
  130.                         ctx.drawImage(img, 0, 0);
  131.                     }
  132.     /* fin añadido*/
  133.   }
  134.  
  135.   return {
  136.     'init': init
  137.   };
  138. });
  139.  
  140.  
  141. window.onload = function() {
  142.   new tiemposcambian.GuardandoPNGs().init();
  143. };

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!!!
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1