私は3日間、マップをSVG
エリアマップに変換しようとしています。私はこのSVGHTML
でそれをやろうとしています。
これSVG
をいくつかのメソッドとプログラムで変換しようとしましたが、すべて失敗しました。
例: inkscape, inkscapeMap, Adobe Illustrator, Polygonator, SVGtoHTML
など。
そこで、私はその仕事をするために自分のPHPスクリプトを書きました。正常に動作しますが、変換されるのはポリゴンのみです。SVG
ただし、ポリゴンに変換する必要のあるパスが2つあります。IllustratorとInkscapeでこれらのパスをポリゴンに変換しようとしましたが、これらのプログラムにパスをポリゴンに変換させる方法がないようです。(SVG
編集者は、変換を行うかどうかを、おそらく単独で決定します)。私はこのトピックをSOで見つけました。しかし、私はJS
仕事を得ることができません-私はparamサンプルが何であるかを知りません、そしてもっと-ブラウザは関数createElementNSが不明であると言いました。
私が到達できる最良の結果はこのHTMLですが、まだ2つの領域が欠落しています(パスのSVGにあるため)
手がかりがあれば嬉しいです。
質問
1)SVGパスをポリゴンに変換する方法は?それは可能ですか?
2)SVGをHTMLエリアマップに変換するソフトウェアはありますか?
3)このJS関数(Phrogzで記述された関数)で、私の例のパラメーターを示していただけますか?
function polygonSampledFromPath(path,samples){
var doc = path.ownerDocument;
var poly = doc.createElementNS('http://www.w3.org/2000/svg','polygon');
var points = [];
var len = path.getTotalLength();
var step = step=len/samples;
for (var i=0;i<=len;i+=step){
var p = path.getPointAtLength(i);
points.push( p.x+','+p.y );
}
poly.setAttribute('points',points.join(' '));
return poly;
}
3ad)なぜ機能がcreateElementNS
不明なのですか?
PS:私の英語を理解していただければ幸いです:)