Crear data:uri desde canvas
El método toDataURL(tipo) convierte el contenido del <canvas> en una imagen data:uri. El parámetro entre paréntesis indica el tipo de imagen y puede tomar uno de los siguientes valores:
- image/gif (imagen GIF)
- image/jpeg (imagen JPEG)
- image/png (imagen Portable Network Graphics)
- image/svg+xml (imagen vectorial SVG)
- image/x-icon (imagen favorite icon)
Si no especificamos ningún tipo de imagen, el método toDataURL() toma "image/png" por defecto.
A continuación queremos dibujar en el <canvas> la imagen de un icono para enlaces. Es importante que la imagen sea muy pequeña.
Una vez dibujada la imagen podemos convertirla en data:uri utilizando el método toDataURL():
var url = canvas.toDataURL();
También sacamos el código de data:uri en pantalla, de donde lo podemos copiar para utilizarlo luego en el código:
document.getElementById("output").innerHTML = url;Asimismo asignamos el data:uri resultante como valor del atributo src de una imagen:
document.getElementById("img").src = url;
canvas: 
imagen: 

		var Canvas = document.getElementById("lienzo");
		if (Canvas && Canvas.getContext) {
		  var ctx = Canvas.getContext("2d");
		  if (ctx) {
		    ctx.strokeStyle = "#2BA6CB";
		    ctx.lineWidth = 2;
		    // cuerpo
		    ctx.scale(.6, .6);
		    ctx.beginPath();
		    ctx.moveTo(8, 6);
		    ctx.lineTo(1, 6);
		    ctx.lineTo(1, 16);
		    ctx.lineTo(11, 16);
		    ctx.lineTo(11, 9);
		    //flecha
		    ctx.moveTo(5, 9);
		    ctx.lineTo(11, 3);
		    ctx.lineTo(8, 1);
		    ctx.lineTo(16, 1);
		    ctx.lineTo(16, 9);
		    ctx.lineTo(14, 6);
		    ctx.lineTo(8, 12);
		    ctx.closePath();
		    ctx.stroke();
		    var url = Canvas.toDataURL();
		    document.getElementById("output").innerHTML = url;
		    document.getElementById("img").src = url;
		  }
		}canvas:
imagen: