2016-04-12 3 views
0

Я хочу изменить border-radius круга, когда я масштабировать объект (if scaleX/scaleY>1) ...как изменить границы радиуса окружности в fabricJS

Это мой объект круг в fabricJS:

function makeStation(left, top, stationID) { 
    var c = new fabric.Circle({ 
     radius: 2, 
     fill: '#5afffa', 
     stroke: '#666', 
     selectable: true, 
     hasRotatingPoint: false, 
     borderColor: 'black', 
     cornerColor: 'black', 

    }); 
    c.left1 = left; 
    c.top1 = top; 
    c.hasControls = c.hasBorders= true; 

    c.stationID = stationID; 
    c.stationName = stations[stationID].name; 
    c.description = stations[stationID].desc; 
    c.image = stations[stationID].image; 

    return c; 
} 

Как я могу изменить border radius?

+0

HTML, elemets сделаны круглые/круговые, используя пограничный радиус самого свойства. Итак, зачем вам нужен радиус границы по кругу? – AdityaParab

+0

Что вы подразумеваете под границей? вы имеете в виду, что хотите, чтобы граница уклона при масштабировании объекта? – AndreaBogazzi

+0

@AdityaParab Я хочу немного изменить круг. теперь радиус границы 50% .. .so хочу, когда я масштабируюсь, это будет 10px ... – Moran

ответ

0

Пожалуйста, проверьте фрагмент кода, чтобы увидеть, если это то, что вы ищете. StrokeWidth остается скудным при масштабировании.

var canvas = new fabric.Canvas("c"); 
 

 
canvas.add(new fabric.Circle({radius: 50, fill: 'red', stroke: 'black', strokeWidth:2})); 
 

 
canvas.on("object:scaling", function(opt){ 
 
    var t = opt.target; 
 
    
 
    t.strokeWidth = 2/Math.min(t.scaleX, t.scaleY); 
 
});
<script src="http://www.deltalink.it/andreab/fabric/fabric.js"></script> 
 
<canvas id="c" width="500" height="500"></canvas>

Смежные вопросы