Wie vergrößert man den Auswahlbereich eines Fabric-Objekts?

8

Betrachten Sie den folgenden Code:

%Vor%

Diese 1-Pixel-Linie ist aufgrund ihrer sehr geringen Breite sehr schwierig auszuwählen. Ich möchte hier den Auswahlbereich vergrößern. So:

Gibt es eine Möglichkeit, dies zu erreichen?

    
Siddhant 13.03.2013, 11:45
quelle

2 Antworten

10

Ja, wir haben padding Wert dafür.

%Vor%

Habe ich schon erwähnt, Fabric ist flexibel und leistungsstark? :)

@markE Schöne Lösung! Ich bin froh, dass Sie den Quellcode einfach durchgehen können.

    
kangax 13.03.2013, 22:42
quelle
4

Schlechte Nachrichten - keine Lösung in der API / Gute Nachrichten - Sie können Ihre Lösung codieren

Die API bietet keine Möglichkeit, den Begrenzungsrahmen einer Linie zu erweitern. Es gibt also keine API-Möglichkeit, um einen größeren Auswahlbereich für Linien zu erhalten.

FabricJS ist open-source und gut organisiert und der Quellcode selbst hat nützliche Kommentare. Hier ist, was ich gefunden habe ...

"Linie" -Objekte erweitern das "Objekt" -Objekt. Das "Objekt" hat Hilfsmethoden und die relevanteste ist in der Datei object_geometry.mixin.js. Dort habe ich festgestellt, dass die Boundingbox für jedes Objekt mit der Methode getBoundingRect () generiert wird.

Sie haben gefragt "Gibt es irgendeinen Weg ...", also hier ist so:

Um Ihr Problem zu lösen, müssen Sie das getBoundingRect () für Zeilen übersteuern und es etwas breiter machen. Dadurch wird der Auswahlbereich Ihrer Linien automatisch breiter und einfacher angeklickt. @Kangax, zögern Sie nicht, eine einfachere Lösung anzugeben!

Hier erhalten Sie die Quelle für getBoundingRect () aus der Quellendatei object_geometry.mixin.js:

%Vor%     
markE 13.03.2013 19:42
quelle

Tags und Links