2011-08-16 19 views
5

Potrzebuję narysować tekst na płótnie, ale obecna implementacja fillText komplikuje wiele funkcji, których potrzebuję (np. Możliwość rysowania wielu linii).Rysowanie tekstu na płótnie

Ponieważ muszę później skopiować piksele z płótna, należy je narysować w obszarze roboczym, nie może to być element nad płótnem o rozmiarze span.

Możliwość edycji jest dodatkowym, ale niewymaganym.

Czy istnieje biblioteka udostępniająca zaawansowane funkcje do rysowania tekstu na płótnie? (Musi pracować przynajmniej na IE9, Firefox, Chrome i Opera)

+0

[Fabric.js] (http://kangax.github.com/fabric.js/demos/kitchensink/) obsługuje Multiline tekst i różne opcje tekstu (kursywa, podkreślenie, przelot, cienie) – kangax

Odpowiedz

0

Wiem tylko o FLOT Canvas Text plugin for jquery.

Ale gdybym był tobą, nadal bym to robił z <span>, ponieważ byłby wtedy przyjazny dla wyszukiwarek. Możesz łatwo uzyskać tekst rozpiętości (lub większości) elementów za pomocą elementu.innerHTML lub element.innerText w zależności od obiektu. możesz to przetworzyć/przekazać. na przykład do zakresu takiego jak

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

można powiedzieć

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

Spojrzę na to. O , jak już powiedziałem, musi to być renderowane w obszarze roboczym, ponieważ płótno zostanie przesłane do usługi obrazu. –

+0

Istnieje wtyczka: HTMLtoCanvas (http://html2canvas.hertzen.com/). Przekazujesz obiekt DOM i analizuje go i tworzy lokalną migawkę, używając tylko javascript. Następnie możesz przesłać zrzut ekranu z płótna, chociaż dla mnie bardziej sensowne byłoby wykonanie całej operacji od początku – mrBorna