2016-04-22 10 views

Antwort

1

Ich fand die Antwort darauf. sein kann, dies erspart jemand kostbare Zeit:

var circle = new fabric.Circle({ 
    radius: 100, 
    fill: '#eef', 
    scaleY: 0.5, 
    originX: 'center', 
    originY: 'center' 
}); 

var text = new fabric.Text('hello world', { 
    fontSize: 30, 
    originX: 'center', 
    originY: 'center' 
}); 

var group = new fabric.Group([ circle, text ], { 
    left: 150, 
    top: 100, 
    angle: -10 
}); 

canvas.add(group); 

http://fabricjs.com/fabric-intro-part-3

+0

Das ist richtig. Wenn Sie möchten, dass Elemente zentriert werden, ist das einfachste, was Sie tun können, wenn Sie den Ursprung X/Y auf die Mitte setzen und kein Oben und Links geben. – AndreaBogazzi

0

Sie könnten versuchen, ein fabric.Circle Objekt und fabric.Text Objekt mit der gleichen links und oben zu schaffen, die sowohl Mitte positioniert ist.

var circle = new fabric.Circle({ 
    top: 0, //Arbitrarily placed at top left corner 
    left: 0, 
    radius: 100, 
    originX: 'center', 
    originY: 'center' 
}); 

var text = new fabric.Text("Your number here", { 
    top: 0, 
    left: 0, 
    originX: 'center', 
    originY: 'center', 
    fill: "#FFFFFF" // Circle background defaults to black, so make text visible 
}); 

// Assuming you have a fabric.Canvas stored in canvas already 
canvas.add(circle); 
canvas.add(text); 
+0

Auch dachte ich darüber. Aber das Problem bei diesem Ansatz ist, wenn der Benutzer den Kreis bewegt, bewegt sich der Text nicht mit ihm. Wenn dies der Ansatz ist, dann muss ich einen Weg finden, beide Objekte als eins zu binden, so dass sie zusammen manipuliert werden können. –

+0

Eventuell haken Sie sich in das 'object: selected' Ereignis für den Canvas ein und wenn ein Objekt ausgewählt ist, fügen Sie automatisch den anderen zu einer Gruppe hinzu (http://stackoverflow.com/questions/19632006/creating-and-selecting-a) -group-programmatically-with-fabric-js, um dies zu tun. Andernfalls müssen Sie wahrscheinlich eine benutzerdefinierte Klasse dafür erstellen. – Ben

Verwandte Themen