Leinwand: Rechtecke - Am Raster ausrichten / An Objekten ausrichten

8

Ich habe es geschafft, Fabric.js zu manipulieren, um einen Fang hinzuzufügen und die Grid-Funktionalität zu skalieren:

%Vor%

Nun möchte ich die Objektfunktion einrasten lassen. Meine Idee war es, die Überschneidung zweier Objekte zu überprüfen und dann die Bewegung irgendwie zu sperren. Ich weiß, es ist nicht der beste Versuch, aber zumindest schnappt es daran, aber erlaubt nicht, das Objekt weg zu bewegen. Und: Im Moment ist es nicht gut umgesetzt. Siehe: Ссылка

Ich habe drei Probleme:

  1. Das "snap" funktioniert nicht gut, da das Objektattribut vom Zeiger abhängig ist. Replikation durch Ziehen des Objekts und Ansehen der Steuerelemente. Wenn Sie zum Beispiel das rote Rechteck nach links verschieben: 62, wird das Rechteck nicht mit dem blauen Rechteck geschnitten und kann sich immer noch entfernen. Wie kann ich den tatsächlichen linken Wert des Rechtecks ​​neu laden? Wegen meiner Rasterlinien ist es links: 100 und nicht links: 62.
  2. Irgendeine Idee, wie ich der Objektfunktionalität einen Snap hinzufügen kann? Und Schnittpunkt verbieten?
  3. Wie kann ich das für n Objekte und nicht nur für zwei überprüfen?

Danke für Ihre Kommentare.

PS: Das jsfiddle-Beispiel zeigt die Skalierung der Grid-Funktionalität nicht, da es Fabric.js Manipulation in Zeile benötigt: 11100

%Vor%     
gco 27.01.2014, 15:54
quelle

3 Antworten

4

Für diejenigen, die noch an der Lösung interessiert sind: Ich habe es hier gelöst: Ссылка Siehe jsfiddle: Ссылка

Arbeiten mit .oCoords.tl .tr .bl. and .br solved it.

    
gco 26.03.2014, 00:23
quelle
3

Für die Neuskalierung anhand des Rasters siehe diese JSfiddle

%Vor%     
Kbladel 13.04.2016 12:13
quelle
-1

Ich habe es herausgefunden, um den Fang von Objekten auf der x-Achse zu lösen und arbeite an einer Lösung für die y-Achse. Siehe JSfiddle hier.

Ich habe dies getan, indem ich einen neuen "linken" -Wert für das aktive Objekt gesetzt habe, wenn ich eine Kreuzung feststelle.

%Vor%     
gco 30.01.2014 19:29
quelle

Tags und Links