Base64 PNG data to HTML5 canvas
By the looks of it you need to actually pass drawImage an image object like so
var canvas = document.getElementById("c");var ctx = canvas.getContext("2d");
var image = new Image();image.onload = function() { ctx.drawImage(image, 0, 0);};image.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAIAAAACDbGyAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9oMCRUiMrIBQVkAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAADElEQVQI12NgoC4AAABQAAEiE+h1AAAAAElFTkSuQmCC";
<canvas id="c"></canvas>
try to load base64 img into a canvas
Yes the code you have shared should work OK.
Here is an example
const canvas = document.getElementById('canvas')
const ctx = canvas.getContext('2d')
var image = new Image();
image.onload = () => { ctx.drawImage(image, 0, 0) }
image.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAQAAAAngNWGAAAAF0lEQVR42mNk+M9AFGAcVTiqcFQhCAAAf0sUAaSRMCEAAAAASUVORK5CYII="
var image2 = new Image()
image2.onload = () => { for(i=1; i<9; i++) ctx.drawImage(image2, 30*i, 5+i) }
image2.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 9TXL0Y4OHwAAAABJRU5ErkJggg=="
<canvas id="canvas"></canvas>
Convert and insert Base64 data to Canvas in Javascript
You don't need to "decode" a base64 string to draw it in a canvas, just assign it to an image source and draw that image in your canvas.
Something like this:
var canvas = document.getElementById('canvas');var context = canvas.getContext('2d');var img = new Image();
img.onload = function() { context.drawImage(this, 0, 0, canvas.width, canvas.height);}
img.src = "data:image/gif;base64,R0lGODlhDwAPAKECAAAAzMzM/////wAAACwAAAAADwAPAAACIISPeQHsrZ5ModrLlN48CXF8m2iQ3YmmKqVlRtW4MLwWACH+H09wdGltaXplZCBieSBVbGVhZCBTbWFydFNhdmVyIQAAOw==";
<canvas id="canvas" width="50" height="50"></canvas>
Html5 Canvas and base64 image
Absolutely.
var img = new Image();
img.src = "data:image/png;base64,.............";
ctx.drawImage(img,0,0);
The image is immediately available for drawing.
Related Topics
Difference Between ≪Input Type='Submit' /≫ and ≪Button Type='Submit'≫Text≪/Button≫
Apply Style to Parent If It Has Child With Css
CSS Background-Size: Cover Replacement for Mobile Safari
Why Are Frames Deprecated in HTML
How to Auto-Format/Indent Xml/HTML in Notepad++
How to Get Rid of Extra Space Below Svg in Div Element
Multiple Spaces Between Words in HTML Without &Nbsp;
Why Does CSS Work with Fake Elements
Creating a Zoom Effect on an Image on Hover Using Css
Android: How to Use the HTML.Taghandler
Using Base Tag on a Page That Contains Svg Marker Elements Fails to Render Marker