2017-01-26 1 views
0

Ich benutze fabris.js Fabriken, um mit Objekten Leinwand zu arbeiten. Wenn Sie die Höhe einer separaten Maus oder eines separaten Felds ändern, funktioniert es. Wenn Sie zuerst die Maus ändern, dann Feld - um mit falsch gelesenen Werten zu arbeiten.Canvas fabric.js: Wie stelle ich die Höhe korrekt ein?

Bitte helfen zu beheben.

Full code

A bug in the video.

83 Linie, 84. Einstellwerte:

canvas.getActiveObject().setHeight(parseInt(heightElInput.value)); 
canvas.getActiveObject().height = parseInt(heightElInput.value); 
+0

Irgendwo du veränderst scaleY für das Objekt, deshalb hast du einen Fehler. Fügen Sie diesen Code nach Zeile 84 ein und es sollte funktionieren: canvas.getActiveObject(). ScaleY = 1; Außerdem können Sie die Funktion setHeight verwenden, Sie müssen nicht beide verwenden – Observer

+0

Ich frage nie diesen Wert (scaleY). Nur wenn Sie hinzufügen (scaleY: 1). Wie kann das sein? – VINET

+0

Hat es Ihr Problem behoben? Du hast nach dieser Änderung gefragt. Jedes Mal, wenn Sie FabricJs-Steuerelemente zum Ändern der Größe verwenden, wird das Objekt skaliert. Sie müssen Ihre eigene Logik für die Größenänderung erstellen. Ich meine, Sie können den Skalierungsfaktor multiplizieren mit der Höhe und/oder der Breite verwenden und diesen Wert als neue Höhe und/oder Breite verwenden und die Skalierungsfaktoren auf 1 zurücksetzen. – Observer

Antwort

0

Irgendwo Sie scaleY für das Objekt zu ändern, die ist, warum Sie einen Fehler haben. Fügen Sie diesen Code nach Zeile 84 ein und es sollte funktionieren: canvas.getActiveObject(). ScaleY = 1 - wenn Sie die Größe vertikal ändern, wenn horizontal - canvas.getActiveObject(). ScaleX = 1; Du kannst auch setHeight benutzen, du brauchst nicht beide zu benutzen - Beobachter

Verwandte Themen