2013-05-06 18 views
8

Attualmente sto lavorando a un progetto "Photo Collage Maker" che richiede un'area di tela più grande e centinaia di oggetti (testo, immagini, forme, clip art, ecc.). Il problema è che durante lo spostamento, il ridimensionamento e la rotazione di tali oggetti, Fabric.js esegue il rendering di tutti gli oggetti che lo rendono troppo lento. Voglio rendere solo gli oggetti selezionati sopra la tela di tessuto. Ho testato renderOnAddition, renderTop anche ma non sono quello che voglio.Render oggetto selezionato solo durante lo spostamento, ridimensionamento e rotazione

Voglio il seguente:

canvas.on('object:moving', function(e) { 
    var activeObject = e.target; 
    //canvas.renderAll(); 
    canvas.renderObjects(activeObject); 
}); 

Ora, invece di canvas.renderAll(), ho bisogno di metodo come canvas.renderObjects(activeObject). Come posso ottenere questa funzionalità in Fabric.js?

Ecco il mio progetto: Edit Photos For Free

+2

Devi rendere tutto, non c'è altro modo. Non mostra lo stato di quale oggetto è stato modificato, il processo di disegno sta disegnando pixel. Come i fotogrammi di un video digitale, anche se si tratta di un'immagine statica, ci sono ancora 25 fotogrammi ... – arty

+0

Se non è possibile, per le prestazioni fabricjs, come posso implementare la proprietà cacheAsBitmap in modo che venga visualizzata solo la parte in movimento e tutte le altre parti statiche sono memorizzate nella cache come bitmap. Qualche idea e algoritmo per implementarlo su fabricjs? – ep4f

+0

mi dispiace, non posso aiutare qui. buona fortuna – arty

risposta

0

La cosa migliore è quella di avere una seconda tela, di fronte a quello principale, su cui si sposta/scala/ruotare l'elemento corrente (s).

Si dice di voler rendere gli oggetti selezionati sopra la tela di tessuto, quindi questo dovrebbe soddisfare i requisiti.

Alla fine dello spostamento/ridimensionamento/rotazione è necessario ripristinare gli elementi di tela originali, applicare le modifiche e consentire di eseguire un ridisegno completo.

Problemi correlati