
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);
