C'è un modo per selezionare esplicitamente tutti gli oggetti presenti in una particolare istanza di tempo. Questo può essere fatto facilmente usando il mouse per selezionare tutto. Esiste una soluzione di codice come un pulsante denominato Select All
in modo che facendo clic su di esso vengano selezionati tutti gli oggetti del tipo di tessuto e quindi potrei applicare le modifiche all'intero di tale Gruppo attivo utilizzando canvas.getActiveGroup();
e iterando su.Seleziona tutti gli oggetti su tela utilizzando Fabric.js
19
A
risposta
29
Buona domanda.
Non c'è alcun metodo incorporato per questo, ma si avrebbe bisogno di fare qualcosa in questo senso:
var objs = canvas.getObjects().map(function(o) {
return o.set('active', true);
});
var group = new fabric.Group(objs, {
originX: 'center',
originY: 'center'
});
canvas._activeObject = null;
canvas.setActiveGroup(group.setCoords()).renderAll();
Il codice dovrebbe essere auto-esplicativo, ed è più o meno quello che sta succedendo sotto il cofano quando si utilizzare il mouse, shift + click, ecc
0
Questa è una forma più compatta:
canvas.setActiveGroup(new fabric.Group(canvas.getObjects())).renderAll();
+0
Questo fa saltare le posizioni dei miei oggetti. – miyasudokoro
0
selectAllObjects() {
this.canvas.discardActiveObject();
this.canvas.discardActiveGroup();
let objects: Fabric.Object[] = this.canvas.getObjects().map(function (object: Fabric.Object) {
return object.set('active', true);
});
if (objects.length === 1) {
this.canvas.setActiveObject(objects[0]);
} else if (objects.length > 1) {
let group: Fabric.Group = new Fabric.Group(objects.reverse(), {
canvas: this.canvas
} as any);
group.addWithUpdate(null);
this.canvas.setActiveGroup(group);
group.saveCoords();
this.canvas.trigger("selection:created", {
target: group
});
}
this.canvas.renderAll();
}
0
"canvas.setActiveGroup" non è più un'opzione. E 'stato cancellato come una funzione nella versione 2.0
Problemi correlati
- 1. Fabric.js: come deselezionare uno o più oggetti su tela?
- 2. Offset mouse su tela [fabric.js]
- 3. Aggiunta di griglia su tela Fabric.js
- 4. fabric.js ... come centrare tela
- 5. Fabric.js: tela con larghezza 100% possibile?
- 6. Come rendere gli oggetti su tela non selezionabili?
- 7. Stratificazione di oggetti canvas in Fabric.js
- 8. Seleziona tutti gli elementi all'interno di ListView
- 9. Seleziona tutti gli elementi in una pagina
- 10. fabric.js canvas ascolta gli eventi della tastiera?
- 11. Estendi tutti gli oggetti Swift
- 12. Utilizzando riempimento pari-dispari su tela HTML
- 13. XSLT seleziona valori distinti utilizzando gli attributi
- 14. rimuovi tutti gli oggetti da uniview?
- 15. jq - seleziona gli oggetti con il nome dato
- 16. Come rimuovere tutti gli oggetti ListBox?
- 17. Trova tutti gli oggetti con associazione interrotta
- 18. Rimuovi tutti gli oggetti da un UIView
- 19. Set formato su tela utilizzando JavaScript
- 20. jQuery seleziona per attributo utilizzando gli operatori AND e OR
- 21. Ottenere gli ID di tutti gli oggetti in un elenco
- 22. jQuery: Seleziona tutti gli elementi 'select' con determinate val()
- 23. jQuery seleziona tutti gli elementi all'interno di determinati elementi padre
- 24. javascript: seleziona tutti gli elementi con attributo "data-" (senza jQuery)
- 25. Seleziona tutti gli elementi a livello di blocco con css
- 26. Seleziona rapidamente tutti gli elementi con immagine di sfondo css
- 27. Seleziona tutti gli elementi dom discendenti indipendentemente dal tipo
- 28. Fabric.js canvas.toDataURL() inviato a PHP da Ajax
- 29. MongoDB contare tutti gli elementi dell'array di tutti gli oggetti che corrispondono a criteri
- 30. Rendering .pdf su singola tela utilizzando pdf.js e ImageData
Ancora una soluzione di lavoro perfetta. Grazie mille @kangax! – softvar
Questo codice determina la posizione di salto degli oggetti se esiste già un gruppo. Funziona se chiami 'canvas.deactivateAll();' prima di questo codice (e prendi la riga 'canvas._activeObject = null;' perché non è più necessario). – miyasudokoro
Ciao! C'è un modo per sovrascrivere lo Shift + Fare clic per Ctrl + Clic? –