Плохие координаты изогнутого текста Fabricjs

У меня проблема с фреймворком fabric.curvedText.js. Я получил пример с этого сайта https://github.com/EffEPi/fabric.curvedText

Я добавляю одну строку «угол: 60». Только когда угол равен 0, координаты хорошие. SetCoords() не помогает. Ниже приведен пример.

JSfiddle: http://jsfiddle.net/y10vjagy/6/

Как это исправить?


person syrus    schedule 13.07.2015    source источник


Ответы (1)


Начать рендеринг с углом: 0;

Измените угол наклона изогнутого текста после загрузки, таким образом вы одновременно вращаете текст и оборачиваете кадр (я думаю, это ошибка, с которой вы столкнулись здесь), в любом случае, если вам нужно визуализировать при загрузке под некоторым углом, измените угол на желаемый после объекта рендеринг.

// where obj is curved text object
if(obj){
            obj.set($(this).("angle"), 60); 
        }

http://jsfiddle.net/7wLnz6pq/

Обновление:

$('#radius, #spacing, #fill').change(function(){
        var obj = canvas.getActiveObject();
        if(obj){
            var angle = obj.get('angle');
            obj.set('angle', 0);
            obj.set($(this).attr('id'),$(this).val()); 
            obj.set('angle', angle);
        }
        canvas.renderAll();
    });
    $('#angle').change(function(){
        var obj = canvas.getActiveObject();
        if(obj){
            obj.set($(this).attr('id'),$(this).val()); 
        }
        canvas.renderAll();
    });

Установите угол равным 0 при изменении радиуса и интервала http://jsfiddle.net/7wLnz6pq/1/

person SilentTremor    schedule 13.07.2015
comment
В вашем примере, когда я устанавливаю угол в диапазоне управления, например. 180, а затем измените радиус или расстояние, координаты будут разбиты. Если я использую поворотный угол на холсте, а затем изменяю радиус или интервал, все в порядке. Проблема с методом set(). Я пытался использовать setAngle(), но эффект был таким же. - person syrus; 13.07.2015
comment
Хорошо, я добавлю обновление для этого только для вас, потому что много слов не помогут. - person SilentTremor; 13.07.2015
comment
Большое спасибо. Это то, что мне нужно. - person syrus; 13.07.2015