Поместите маркировку в “центр” пути SVG

Я всегда использовал:


ALTER DATABASE DB_NAME SET SINGLE_USER WITH ROLLBACK IMMEDIATE 
GO 
SP_RENAMEDB 'DB_NAME','DB_NAME_NEW'
Go 
ALTER DATABASE DB_NAME_NEW  SET MULTI_USER -- set back to multi user 
GO 
14
задан Phrogz 27 February 2011 в 15:08
поделиться

2 ответа

Вы можете попробовать следующее приближение для выполнения чего-то похожего на предложение многоугольника, основанного на методах SVG DOM:

var totalPathLength = pathelm.getTotalLength();
var step = totalPathLength / 100;
for(var dist=0; dist < totalPathLength; dist+=step)
{
  var pt = pathelm.getPointAtLength(dist);
  addToAverage(pt.x, pt.y);
}

Я думаю, что самый простой подход - использовать центр ограничивающей рамки элемента пути ( pathelm.getBBox ()), это проще, чем предложение многоугольника.

11
ответ дан 1 December 2019 в 16:15
поделиться

Самое простое, что вы можете попробовать сделать, - это вычислить центр, взяв среднее значение всех точек многоугольника. Он должен работать для всех полигонов, кроме самых неправильных. Я использовал тот же алгоритм для хорошего результата в своих программах.

Удачи.

0
ответ дан 1 December 2019 в 16:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: