如何使用jCanvas将文本设置在曲线形状的中心

How to set text in center of curve shape with jCanvas?

本文关键字:曲线 jCanvas 何使用 文本 设置      更新时间:2023-09-26

我正在用jCanvas使用drawLine方法绘制"map",并且需要将门牌号放在曲线形状的中心(它可以有随机数量的角度)。

还请注意,所有的对象都是可拖拽的,文本也必须是可拖拽的。

或者我如何计算物体的中心,它可以有任意数量的角度?

我写了一个函数来解决我的问题。作为var点,你必须发送svg多边形点。

function getcenter(points, index)
{
    if (typeof points!="undefined") 
    {
        var pairs = [];
        pairs = points.split(" ");
        
        
        var first = true;
        var min; var max;
        
        for(var i=0;i<pairs.length;i++)
        {
            var list = pairs[i].split(',');
            
            if(first===true)
            {
                first = false;
                min = max = list[index];
            }
            else
            {
                if(list[index]<min) min = list[index];
                if(list[index]>max) max = list[index];
            }
        }
        
        min = parseInt(min);
        max = parseInt(max);
        var result = (min+max)/2;
        return result;
    }
    else return false;
};