1

私がやろうとしているのは、キャンバスに 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 画像を作成しようとすると、同じことが起こります。現在、コードを持っていません。必要に応じて後で追加します。

4

1 に答える 1

-1

解決策を見つけました。どうやらキャンバスにはsvgs「drawSvg」を描画する別の機能があるので、それを使用して動作しました。

于 2013-01-28T19:10:31.910 に答える