FabricJS - 自定义文本框的渲染文本

问题描述 投票:0回答:1

寻找有关如何将文本传递到自定义文本框的建议。我正在探索创建具有不同类型边框(圆圈,钻石等)的文本框,并使用下面的代码,我可以创建一个带有文本框的cirlce。但是,文本未显示/呈现到页面。

  addCustom2() {
    let customObj2 = fabric.util.createClass(fabric.Textbox, {
      type: 'customObj2',
      radius: 50,
      
      initialize: function(element, options) {
        console.log(this)
        this.callSuper('initialize', element, options);
        this.set({ width: 2 * this.radius, height: 2 * this.radius});
      },
      
      _render: function(ctx) {
        console.log("inside render 2")
        ctx.beginPath();
        ctx.arc(0, 0 , this.radius, 0, 2 * Math.PI, false);
        ctx.lineWidth = 5;
        ctx.strokeStyle = '#003300';
        ctx.stroke();
      }
    });

    this.canvas.add(new customObj2('Hello', {
      left: 100, 
      top:10,
      fontSize: 21,
      stroke: 'rgba(50,80,220)',
      textAlign: 'center',
      fill: 'rgba(100,80,220)'
    }));

使用this post我能够显示圆圈,但是文字没有显示(这是我看到的:)

enter image description here

通过检查元素,我可以在键入时看到文本更改,因此我知道它附加到圆圈。这里的任何帮助将不胜感激!

javascript html5-canvas fabricjs
1个回答
0
投票

_render改为_renderBackground

© www.soinside.com 2019 - 2024. All rights reserved.