2011-08-16 17 views
5

Necesito dibujar texto en un lienzo, pero la implementación actual de fillText complica mucho más las funciones que necesito (como poder dibujar varias líneas).Dibujando texto en un lienzo

Como necesito copiar los píxeles del lienzo más tarde, debe dibujarse en el lienzo, no puede ser un elemento span sobre el lienzo.

Ser capaz de hacerlo editable es una ventaja, pero no es obligatorio.

¿Hay alguna biblioteca que proporcione funciones avanzadas para dibujar texto en un lienzo? (Se debe trabajar por lo menos en IE9, Firefox, Chrome y Opera)

+0

[Fabric.js] (http://kangax.github.com/fabric.js/demos/kitchensink/) tiene soporte para multilínea texto y varias opciones de texto (cursiva, subrayado, trazos, sombras) – kangax

Respuesta

0

Solo conozco el FLOT Canvas Text plugin for jquery.

Pero si yo fuera tú, aún así lo haría con un <span> porque entonces sería amigable para el motor de búsqueda. Puede obtener fácilmente el texto de un tramo (o la mayoría de los elementos) utilizando element.innerHTML o element.innerText dependiendo del objeto. entonces puedes procesar/pasar eso. p.ej. por un lapso como

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

puedo decir

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

Voy a echarle un vistazo. Acerca del , como dije, debe representarse en el lienzo, porque el lienzo se cargará en un servicio de imágenes. –

+0

Hay un complemento: HTMLtoCanvas (http://html2canvas.hertzen.com/). Le pasa el DOM y lo analiza y crea una instantánea de lienzo localmente utilizando solo javascript. A continuación, puede enviar una captura de pantalla desde el lienzo, aunque para mí, tendría más sentido hacer todo el lado del servidor para comenzar con – mrBorna