私はD3天体ライブラリ(https://github.com/ofrohn/d3-celestial)を使用しており、キャンバス画像をSVGに変換しようとしています(これをベクター画像として使用してGCodeレーザーカッター)。 私はFabric JSライブラリとCanvas-GetSVGを使ってみましたが、成功しませんでした。
誰かがこの作業を開始する簡単な方法はありますか?d3天体のライブラリをSVGにエクスポート
<div style="overflow:hidden;"><div id="celestial-map"></div></div>
<div id="celestial-form"></div>
<script type="text/javascript">
var canvas;
Celestial.display({
form: true,
location: true,
datapath: "../data/",
stars: {proper: true}
});
document.getElementById("celestial-map").firstChild.setAttribute("id", "findthisstring");
function myFunction(){
var canvas = new fabric.Canvas('findthisstring', { isDrawingMode: true });
canvas.isDrawingMode = false;
canvas.toSVG();
}
function do_save() {
var canvas = new fabric.Canvas('findthisstring', { isDrawingMode: true });
canvas.isDrawingMode = false;
var filedata=canvas.toSVG(); // the SVG file is now in filedata
var locfile = new Blob([filedata], {type: "image/svg+xml;charset=utf-8"});
var locfilesrc = URL.createObjectURL(locfile);//mylocfile);
var dwn = document.getElementById('dwn');
dwn.innerHTML = "<a href=" + locfilesrc + "
download='mysvg.svg'>Download</a>";
}
</script>
<button onclick="myFunction()">Click me</button>
<input type="button" id="saveBtn" value="save" onclick="do_save()"></input>
<div id='dwn'></div>
<div id="imgOut"></div>
私はSVGにCanvasオブジェクトからデータをエクスポートするために、いくつかの異なるライブラリを使用しようとしましたが、唯一の空のSVGsを得ることができました。
あなたを助けるために、我々はあなたのコードを参照する必要があります。コードの関連するスニペットと、試したことの説明と予想される出力を含めて質問を編集してください。 –
私はJSと関連するHTMLを追加しましたが、これは私が探していることを説明するのに役立ちますか? –