サーバーから動的にロードされるインラインsvgがあります。そのsvgをインラインcssを使用して操作または変更したい。その変更されたsvgをpngまたはbase64画像に変換することを検索しました。長い間検索した結果、Canvg に固執することにしました。
問題は、背景や境界線の半径などのインライン スタイル属性をレンダリングすることです。
これは私のsvgです。
<svg height="550" width="550" viewBox="0 0 512 512" id="svg">
<path d="m309 139c0-111-32-139-53-139-21 0-53 28-53 139l-173 122c-2 1-4 4-4 7l0 46c0 6 5 10 11 9l166-37c6 49 16 93 23 139l-63 49c-2 1-4 4-4 6l0 23c0 7 6 11 12 8l85-38 85 38c6 3 12-1 12-8l0-23c0-2-2-5-4-6l-63-49c7-46 17-90 23-139l166 37c6 1 11-3 11-9l0-46c0-3-2-6-4-7z m-53-88c-11 0-21 3-30 7 3-13 15-22 30-22 15 0 27 9 30 22-9-4-19-7-30-7z"></path>
</svg>
次のようになります。
パスはサーバーから動的にロードされることに注意してください。したがって、それを変更することはできません。
今、私はそれをこのようなものに操作したいと思っています。
<svg style="background: grey none repeat scroll 0% 0%; fill: white; padding: 70px; border-radius: 98px;" height="550" width="550" viewBox="0 0 512 512" id="svg">
<path d="m309 139c0-111-32-139-53-139-21 0-53 28-53 139l-173 122c-2 1-4 4-4 7l0 46c0 6 5 10 11 9l166-37c6 49 16 93 23 139l-63 49c-2 1-4 4-4 6l0 23c0 7 6 11 12 8l85-38 85 38c6 3 12-1 12-8l0-23c0-2-2-5-4-6l-63-49c7-46 17-90 23-139l166 37c6 1 11-3 11-9l0-46c0-3-2-6-4-7z m-53-88c-11 0-21 3-30 7 3-13 15-22 30-22 15 0 27 9 30 22-9-4-19-7-30-7z"></path> </svg>
これは次のようになります。
ただし、canvg スクリプトを使用してレンダリングした後。raw ファイルとしてレンダリングされます。塗りつぶしの色だけが含まれます。他には何もありません。
それを行う他の方法はありますか?canvas または svg 要素を使用する。
助けてください!!!前もって感謝します