2011-07-11 14 views
6

¿Existe una biblioteca Java que proporcione una forma basada en componentes para crear documentos SVG?Biblioteca de creación SVG para Java

No necesito renderizar SVG, todo lo que quiero hacer es construir un árbol SVG programáticamente y de una manera segura.

+0

sí bhalu biblioteca está allí se puede descargar aquí http://pioneer-soft.com/Download –

Respuesta

5

Batik debería hacerlo bien: no es solo para renderizar, puede hacer la construcción/manipulación de SVG con él.

+0

¿Pero qué parte de Batik? La API api parece ser solo operaciones DOM básicas, 'SVGGraphics2D' no parece ser compatible con todo (filtros compuestos XOR, por ejemplo). – biziclop

+0

Ah, entonces hay una funcionalidad específica que le interesa, que incluye claramente los filtros compuestos XOR. Ha pasado mucho tiempo desde que miré a Batik, pero http://xmlgraphics.apache.org/batik/javadoc/org/apache/batik/ext/awt/image/SVGComposite.XorCompositeContext.html y http: // xmlgraphics .apache.org/batik/javadoc/org/apache/batik/ext/awt/image/SVGComposite.html parece que podrían ser la base de lo que desea. ¿Hace eso lo que quieres? – Femi

+0

Empecé a jugar con Batik hoy, así que no estoy muy seguro de cómo usarlos todavía. Aunque definitivamente es el filtro que necesito, esperaba que hubiera una API a medio camino entre DOM y Java2D, donde todavía manipulo el modelo DOM directamente pero con una representación de objetos más amigable para el usuario. – biziclop

2

Aquí es un ejemplo de cómo utilizar Batik para arrancar y manipular el DOM SVG:

http://xmlgraphics.apache.org/batik/using/dom-api.html

+1

Sé de esto, pero esto es solo operaciones DOM básicas, voluminosas y no seguras. Estoy buscando algo así como un envoltorio de objetos finos alrededor de esto. – biziclop

+0

La biblioteca jquery-svg proporciona una buena API de "generador" de SVG, y funciona con Batik: http://keith-wood.name/svg.html Sin embargo, está destinado a ser utilizado desde JavaScript, y no es seguro para tipos. No estoy al tanto de que una biblioteca así se use con Java, pero no sería una tarea difícil de construir (estimaría un día de trabajo). – jbeard4