如何在fabricJS中向圆形对象添加文本?

Posted

技术标签:

【中文标题】如何在fabricJS中向圆形对象添加文本?【英文标题】:How to add text to a circle object in fabricJS? 【发布时间】:2016-08-01 20:13:02 【问题描述】:

我在这里搜索 fabricJS-circle ,但没有找到添加数字 1 或 2 或 3 等文本的方法...在画布上的圆圈内?

这是我在画布上的圆形对象:

function makeStaion(left, top, stationID) 
    var c = new fabric.Circle(
        left: left,
        top: top,
        radius: 2,
        fill: '#5afffa',
        stroke: '#666',
        selectable: true,
        centeredScaling:true,
        padding:2,
        hasRotatingPoint: false,
        borderColor: 'black',
        cornerColor: 'black'

    );
    c.hasControls = true;
    c.station = true;

    c.stationID = stationID;
    c.stationName = stations[stationID].name;
    c.description = stations[stationID].desc;
    c.image = stations[stationID].image;

    return c;

【问题讨论】:

Miss.Moran 您需要更新您尝试获取帮助(答案)的代码。参考:-***.com/help/how-to-ask 有更多机会不关闭您的查询作为题外话.. 【参考方案1】:

我认为您正在寻找的是一个织物组。

教程在这里:http://fabricjs.com/fabric-intro-part-3#groups

这里的文档:http://fabricjs.com/docs/fabric.Group.html

试试这样的:

var c = new fabric.Circle(
        left: left,
        top: top,
        radius: 2,
        fill: '#5afffa',
        stroke: '#666',
        selectable: true,
        centeredScaling:true,
        padding:2,
        hasRotatingPoint: false,
        borderColor: 'black',
        cornerColor: 'black'
    );

var t = new fabric.Text(stationID, 
        fontFamily: 'Calibri',
        fontSize: 1.2,
        textAlign: 'center',
        originX: 'center',
        originY: 'center',
        left: LayoutCoordX(STA),
        top: LayoutCoordY(BL-BLOffset)-radius-.4
    );

var g = new fabric.Group([c, t],
        // any group attributes here
    );


    g.hasControls = true;
    g.station = true;

    g.stationID = stationID;
    g.stationName = stations[stationID].name;
    g.description = stations[stationID].desc;
    g.image = stations[stationID].image;

    return g;

【讨论】:

谢谢!!我添加了 Text 对象并将组添加到画布 - 一对 Circle 和 Text 对象,它工作得很好!! :) 你知道我如何改变圆的边界半径吗?我想在圆圈缩放参数> 1时更改它。 我怀疑您正在寻找 strokeWidth 属性。 var c = new fabric.Circle( ... strokeWidth: 2.5 ... )

以上是关于如何在fabricJS中向圆形对象添加文本?的主要内容,如果未能解决你的问题,请参考以下文章

FabricJS IText - 如何添加具有多种样式的文本框?

如何在 FabricJS 中为 IText 对象添加按键监听器?

fabricjs如何双击图片(或矩形)来编辑文本并命名

如何在 React Native 中向图像添加文本?

如何在 RestSharp 中向请求正文添加文本

如何在fabric js中删除组对象外的文本?