FabricJS - Рендеринг текста для пользовательского текстового поля - PullRequest
0 голосов
/ 25 февраля 2019

ищет несколько советов о том, как визуализировать текст, переданный в пользовательское текстовое поле.Я изучаю создание текстовых полей с различными типами границ (кружки, ромбы и т. Д.) И с помощью приведенного ниже кода, я могу создать кружок с текстовым полем внутри.Тем не менее, текст не отображается / отображается на странице.

  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)'
    }));

Использование этого сообщения Мне удалось отобразить круг, однако текст не отображается (вот что я вижу:)

enter image description here

Осматривая элемент, я могу видеть изменение текста во время ввода текста, поэтому я знаю, что он прикреплен к кругу.Любая помощь здесь будет принята с благодарностью!

1 Ответ

0 голосов
/ 19 апреля 2019

Изменить _render на _renderBackground.

...