Zielony Smok

HTML5 canvas – tutorial

Zapamiętanie canvas jako blob (jpg)

Może nie działać w niektórych przeglądarkach.

Rysujemy obrazek na canvas.

Używamy toBlob() z trzema argumentami – funkcją zwrotną, trybem obrazka i dokładnością obrazka.

Funkcja przekształca canvas w obrazek JPEG (w postaci obiektu binarnego blob ) z pełną dokładnością.

blob jest przypisywany do elementu ‘obrazek’ jako źródło.

Kliknij prawym klawiszem myszy aby zapamiętać


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;
	var x2 = x;
	var y2 = y + 0.6 * h;
	var x3 = x + 0.5 * w;
	var y3 = y + 0.9 * h;
	var x4 = x + w;
	var y4 = y + 0.6 * h;
	var x5 = x + 0.9 * w;
	var y5 = y;
	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.fillStyle="white";
  ctx.fillRect(0,0,cv.width,cv.height);
  ctx.lineWidth = 5;
  ctx.fillStyle = "rgb(255,0,0)";
  drawHeart(ctx,20,20,200,200);
  ctx.fill();
  cv.toBlob(function(blob){
	  var obrazek = document.getElementById('obrazek');
	  var bloba = URL.createObjectURL(blob);
	  obrazek.src= bloba;
	  //URL.revokeObjectURL(bloba);
  }, "image/jpeg", 1.0);