0

d3 を使用して SVG プロパティを操作して SVG を作成しようとしています。私の目的は、小さな長方形を大きな長方形の上に配置し、ポーターダフ「dst-out」を使用して目的地を合成することです。残念ながら、私が試したは私のブラウザでは機能しません。SVG仕様によるものかどうかはわかりません。これが私がいじっていたコードです

    svg.append("g").attr("id","content").append("svg:rect").
        attr("x",0).
        attr("y",200).
        attr("height",100).
        attr("width", width-20).
        attr("fill", "#2d578b");

        d3.select("#chartLaser svg").select("#content").append("svg:rect").
        attr("x",-50).
        attr("y",250).
        attr("height",30).
        attr("width",80).
        attr("fill", "#FF0066").attr("comp-op","src-atop");

解決策につながる助けをいただければ幸いです。前もって感謝します。

4

3 に答える 3

1

引用したサイトの例は SVG バージョン 1.2 です。現在、ほとんどのブラウザーでは、SVG 1.1 の基本的なサポートしかありません。それらの画像のいずれかをクリックすると、SVG バージョンが表示されます (ページでは PNG にフォールバックします)。

お分かりのように、お使いのブラウザは、おそらくあなたが思っていたものをサポートしていません。このブログ投稿の最後にブラウザの互換性に関する適切なまとめがあり、このテスト ページでは機能の視覚的なチェックがあります。

于 2013-06-04T13:12:40.460 に答える
0

私の質問に対する壊れやすい解決策を見つけました。このような種類の操作を実行するためにこれまでに見つけた最良の方法は、サーバーを使用し (ノード js を使用しています)、SVGSalamanderを使用して SVG を Graphics2D に変換することです。Graphics2d に変換された後、追加、減算などの一連のオプションがあります。この後、Batikを使用して SVG に再度レンダリングします。これは私にとってはうまくいっているようで、現在私が見つけた最良の解決策です。さらに、ノード javaを使用して、このプロセス全体を自動化できます。

于 2013-06-12T08:43:54.743 に答える