おそらくこれは何度も取り上げられている。しかし、私はそれに対する最終的な答えを得る必要があります。
object html タグを使用して SVG ファイルをブラウザにロードしました。JavaScript と DOM を使用して、ユーザーはそのファイルを変更し、色要素などをカスタマイズします。基本的にはジャケットのカスタマイザーです。これにはキャンバスを使用していません。これは、イラストレーターからエクスポートされ、変更された純粋な svg です。
このカスタマイズされた画像を含む PDF ドキュメントを作成するために、この svg の変更されたバージョンをサーバーにエクスポートする必要がある時点まで、すべてが順調に進んでいます。明らかに、この画像のbase64文字列を含むサーバーにajaxリクエストを送信する必要があります。
私が尋ねる人は誰でも、JavaScript で画像を作成し、src 属性を SVG のシリアル化された XML に割り当て、それをキャンバスに描画して base64 文字列を抽出する必要があると言うでしょう。
toDataURL()
メソッド (またはメソッド)にヒットするまではすべて問題ありませgetImageData()
ん。Firefox でのみ動作します。他のブラウザーは、セキュリティ違反の例外をスローしています。それは明らかに受け入れられません。
キャンバスにイメージを描画するとイメージが汚染されるため、これを行う希望を失いました。Web ページの構造全体を変更せずにこの問題を回避する方法はありますか?