I am rendering an svg to a canvas (to save as png later).
var svg = document.getElementById("mysvg");
var svgData = new XMLSerializer().serializeToString( svg );
var canvas = <any>document.getElementById("canvas");
var ctx = canvas.getContext( "2d" );
var img = document.createElement( "img" );
img.setAttribute( "src", "data:image/svg+xml;base64," + btoa( svgData ) );
img.onload = function() {
ctx.drawImage( img, 0, 0 );
console.log( canvas.toDataURL( "image/png" ) );
};
It works with base64 encoded images:
<image x="10" y="10" xlink:href="data:image/jpeg;base64, ...
But when using an url as xlink:href value it does not render the image to the canvas:
<image x="10" y="10" xlink:href="assets/myimage.png" />