Zapisanie canvas jako dataURL
Postępowanie:
- Na
canvas
rysujemy obrazek - Zapisujemy
canvas
w zmiennej przy użyciu funkcjitoDataURL()
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;