2013-08-19 1 views
2

Первый:Рисование путь с FabricJS

var canvas = new fabric.StaticCanvas('c'); 
var path = new fabric.Path('M 0 0 L 50 0 M 0 0 L 4 -3 M 0 0 L 4 3 z', { 
    left: 100, 
    top: 100, 
    stroke: 'red', 
    strokeWidth: 1, 
    fill: false 
}); 
canvas.add(path); 

результат:

enter image description here


Так как я могу повернуть эту стрелку на 45 градусов, центр которой находится головка стрелки, как это:

enter image description here

Я попытался установить 'originX' и 'originY', но проблема в том, что я не могу установить начало координат в голову стрелки, установив эти два параметра. Как показано ниже:

var canvas = new fabric.StaticCanvas('c'); 
var path = new fabric.Path('M 0 0 L 50 0 M 0 0 L 4 -3 M 0 0 L 4 3 z', { 
    left: 100, 
    top: 100, 
    stroke: 'red', 
    strokeWidth: 1, 
    fill: false, 
    **originX: 'left',** 
    **originY: 'top'** 
}); 
canvas.add(path); 

enter image description here

var canvas = new fabric.StaticCanvas('c'); 
var path = new fabric.Path('M 0 0 L 50 0 M 0 0 L 4 -3 M 0 0 L 4 3 z', { 
    left: 100, 
    top: 100, 
    stroke: 'red', 
    strokeWidth: 1, 
    fill: false, 
    originX: 'left', 
    originY: 'top', 
    **angle: 45** 
}); 
canvas.add(path); 

enter image description here

+1

Просто идея: Пробовали ли вы originX: левый originY: центр , как показано в этой демонстрации: http://fabricjs.com/test/misc/origin.html – treeno

+0

'originX: 'left', originY: 'top', angle: 45' должно делать это – kangax

ответ

3

Это следует сделать это:

var canvas = new fabric.StaticCanvas('c'); 
var path = new fabric.Path('M 0 0 L 50 0 M 0 0 L 4 -3 M 0 0 L 4 3 z', { 
    stroke: 'red', 
    strokeWidth: 1, 
    fill: false, 
    originX: 'left', 
    originY: 'top' 
}); 
path.setAngle(45).set({ left: 100, top: 100 }); 
canvas.add(path); 
+0

Что-то есть выкл. Пожалуйста, [файл ошибка] (http://github.com/kangax/fabric.js/issues) – kangax

+0

ОК, я убью эту ошибку. Спасибо за ваш ответ. – chylvina