2012-06-06 14 views

Respuesta

104

Supongo que quiere decir que desea cargar una imagen en el lienzo y no cargar la imagen desde el lienzo.

probablemente sería una buena idea leer todos los artículos de lona que tienen aquí https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Canvas_tutorial/Using_images

Pero básicamente lo que quiere hacer es crear una imagen en javascript, y establecer el image.src = a cualquiera que sea la ubicación del archivo. En el caso de cargar imágenes del usuario en su extremo, querrá utilizar la API del sistema de archivos.

arrojó juntos un breve ejemplo aquí: http://jsfiddle.net/influenztial/qy7h5/

function handleImage(e){ 
    var reader = new FileReader(); 
    reader.onload = function(event){ 
     var img = new Image(); 
     img.onload = function(){ 
      canvas.width = img.width; 
      canvas.height = img.height; 
      ctx.drawImage(img,0,0); 
     } 
     img.src = event.target.result; 
    } 
    reader.readAsDataURL(e.target.files[0]);  
} 
+1

bien hecho. No sabía acerca de FileReader –

+1

IE10 + con FileReader - http://caniuse.com/filereader - Pero aparentemente existe un polyfill, https://github.com/Jahdrien/FileReader –

+0

¿Cómo ejecutaría el código sin una ¿botón? ¿A qué se refiere la "e" en el ejemplo? – Waltari

-4
<script> 
window.onload = function() { 
var canvas=document.getElementById(“drawing”); // grabs the canvas element 
var context=canvas.getContext(“2d”); // returns the 2d context object 
var img=new Image() //creates a variable for a new image 

img.src= “images/vft.jpg” // specifies the location of the image 
context.drawImage(img,20,20); // draws the image at the specified x and y location 
} 
</script> 

Comprobar Demo