私がやろうとしているのは、キャンバスに svg 画像を描画してから、このキャンバスの PNG 画像を作成することです。これが私がすることの例です:
var canvas = document.getElementById('mycanvas');
var ctx = canvas.getContext('2d');
var img = new Image();
img.onload = function () {
ctx.drawImage(this, 0, 0, this.width, this.height);
var url = canvas.toDataURL("image/png");
}
img.crossorigin = "Anonymous"; //not sure this affects anything...
img.src="some image url"
png/jpeg 画像のソースを設定すると正常に動作しますが、src は svg 画像であり、 「 canvas.toDataURL("image/png") 」を呼び出すと「 Uncaught Error: SECURITY_ERR: DOM Exception 18 」が表示されます。わからない 何が違うの?
インライン svg を取得してキャンバス内にレンダリングし、png 画像を作成しようとすると、同じことが起こります。現在、コードを持っていません。必要に応じて後で追加します。