SVG в HTML карту и область - PullRequest
       18

SVG в HTML карту и область

0 голосов
/ 01 декабря 2011

Я пытался конвертировать карту в SVG в HTML карту области в течение трех дней. Я пытаюсь сделать это с этим SVG .

Я пытался преобразовать это SVG несколькими методами и программами, но все они потерпели неудачу. например: inkscape, inkscapeMap, Adobe Illustrator, Polygonator, SVGtoHTML и более.

Итак, я написал свой собственный PHP скрипт для выполнения этой работы. Работает нормально, но конвертирует только полигоны. Но в SVG есть два пути, которые также необходимо преобразовать в полигон. Я пытался преобразовать эти пути в полигоны в Illustrator и Inkscape, но, по-видимому, нет способа заставить эти программы преобразовать путь в полигоны. (SVG редакторы, вероятно, решают в одиночку, делают ли они преобразование или нет). Я нахожу эту тему на SO. Но я не смог получить работу JS - я не знаю, что такое параметр sample , и более того - браузер сказал, что функция createElementNS неизвестна.

Наилучший результат, которого я смог достичь, это этот HTML , но все еще отсутствуют две области (потому что они находятся в 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: надеюсь, вы понимаете мой английский:)

...