Zielony Smok

HTML5 canvas – tutorial

Zapisanie canvas jako dataURL

Postępowanie:

  • Na canvas rysujemy obrazek
  • Zapisujemy canvas w zmiennej przy użyciu funkcji toDataURL()

Bity obrazka są zamieniane na ciąg znaków zawierający 64 znaki kodowanie Base64).

  • Zmienną z dataURL oglądamy przekazując ją do elementu <p>. Jest to łańcuch odpowiednio zakodowanych znaków.

Obrazek na canvas możemy zapisać klikając go prawym klawiszem myszy i wybierając odpowiednią opcję.

Listing

	function drawHeart(ctx, x, y, w, h){
		var x0 = x + 0.5 * w;
		var y0 = y + 0.3 * h;
		var x1 = x + 0.1 * w;
		var y1 = y //+ 0 * h;
		var x2 = x //+ 0 * w;
		var y2 = y + 0.6 * h;
		var x3 = x + 0.5 * w;
		var y3 = y + 0.9 * h;
		var x4 = x + 1 * w;
		var y4 = y + 0.6 * h;
		var x5 = x + 0.9 * w;
		var y5 = y //+ 0 * h;
		ctx.moveTo(x0, y0);
		ctx.bezierCurveTo(x1, y1, x2, y2, x3, y3);
		ctx.bezierCurveTo(x4, y4, x5, y5, x0, y0);
	};
	var cv = document.getElementById('canvas');
	     var ctx = cv.getContext('2d');
	     ctx.beginPath();
	  ctx.lineWidth = 5;
	  ctx.fillStyle = "rgb(255,0,0)";
	  drawHeart(ctx,20,20,200,200);
	  ctx.fill();
	  var dataURL = cv.toDataURL();
	  var doc = document.getElementById("heartData");
	  doc.innerHTML= dataURL;