2015-07-13 2 views
0

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

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

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

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

ответ

0

Начало рендеринга с углом: 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/

+0

В вашем примере, когда я установить угол в диапазоне управления, чтобы, например, 180, а затем изменить радиус или интервал, блокировки сломаются. Если я использую вращающийся угол на холсте, а затем изменяю радиус или расстояние, все в порядке. Проблема заключается в методе set(). Я пытаюсь использовать setAngle(), но эффект был тот же. – syrus

+0

Хорошо, я добавлю обновление для этого только для вас, потому что много слов не поможет – SilentTremor

+0

Voila, проверьте обновление в ответ. – SilentTremor