2011-08-16 16 views
5

Ho bisogno di disegnare del testo in una tela, ma l'attuale implementazione fillText ha una grande complessità su molte delle funzionalità che mi servono (come poter disegnare più linee).Disegno del testo in una tela

Poiché è necessario copiare i pixel dall'area di disegno in un secondo momento, è necessario disegnarlo nell'area di disegno, non può essere un elemento span nell'area di disegno.

Essere in grado di renderlo modificabile è un vantaggio, ma non è necessario.

Esiste una libreria che fornisce funzionalità avanzate per disegnare il testo in una tela? (Si deve lavorare almeno su IE9, Firefox, Chrome e Opera)

+0

[Fabric.js] (http://kangax.github.com/fabric.js/demos/kitchensink/) ha il supporto per più righe testo e varie opzioni di testo (corsivo, sottolineato, tracciamento, ombre) – kangax

risposta

0

Conosco solo lo FLOT Canvas Text plugin for jquery.

Ma se fossi in te lo farei ancora con uno <span> perché sarebbe quindi Search Engine friendly. Puoi facilmente ottenere il testo di uno span (o la maggior parte) di elementi usando element.innerHTML o element.innerText a seconda dell'oggetto. allora puoi processarlo/passarlo. per esempio. per un arco come

<span id="myspan"> lorem ipsum </span> 

posso dire

spanText = document.getElementById("myspan").innerText; 
+0

Vado a dare un'occhiata. Informazioni su , come ho detto, deve essere visualizzato nell'area di disegno perché il canvas verrà caricato su un servizio di immagini. –

+0

C'è un plugin: HTMLtoCanvas (http://html2canvas.hertzen.com/). Passa il DOM e lo analizza e crea uno snapshot di tela localmente usando solo javascript. È quindi possibile inviare uno screenshot dalla tela, anche se, per me, avrebbe più senso fare l'intero server dall'inizio – mrBorna