SVG Salamander is an SVG engine for Java that's designed to be small, fast, and allow programmers to use it with a minimum of fuss. It's in particular targeted for making it easy to integrate SVG into Java games and making it much easier for artists to design 2D game content - from rich interactive menus to charts and graphics to complex animations.
- Ant task to allow easy conversion from SVG to images from within Ant scripts
SVGIcon
class greatly simplifies loading and drawing images to screen- A much smaller code foot print than Batik, and only one JAR file to include
- Direct access to the scene graph tree. You can use Java commands to manipulate it directly.
- An index of all named shapes in the SVG graph is easily accessible.
- Picking shapes given (x, y) coordinates is possible, and can be used to implement graphical buttons selected by the mouse
- Clip region sensitivity makes for fast rendering when only updating part of the image. This makes panning the camera quite efficient.
- Easy rendering to any
Graphics2D
orBufferedImage
. Unlike Batik, the SVG Salamander engine does not own the graphics context, so you can pass it whatever graphics context you like. - Internal and external links are implemented as URIs, which allows the engine to automatically import linked documents - even if they're stored on a remote server.
- SVG can be read from an
InputStream
, so you can create documents dynamically from an in-program XSLT transformation.
SVG Salamander is now distributed using Maven packages. Add the svg-salamander
artifact to your pom.xml
file to include it:
<dependency>
<groupId>com.github.blackears</groupId>
<artifactId>svg-salamander</artifactId>
<version>1.1.5</version>
</dependency>
You may also need to include the repository in your pom.xml
file:
<repositories>
...
<repository>
<id>github</id>
<url>https://maven.pkg.github.com/blackears/svgSalamander</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<repository>
</repositories>
Starting with version 1.1.5, the artifact name is now svg-salamander
instead of svgSalamander
. This is due to the package hosting switching to Github from Sonotype, and my not being able to reuse the old artifact name on Github.
A list of all Maven releases is availble here.
An overview of how to use SVG Salamader in your project.
SVG Salamander is part of the Salamander project hosted on http://www.kitfox.com
- Apache Pivot - An alternate crossplatform GUI for Java.
- VisiCut - A tool for laser precision cutting.
- Xoetrope - An alternate crossplatform GUI for Java.
- Power Line - A slide editor for SVG.
- Tygron - Serious games illustrating urban planning and climate change.
- NeoLogica - Medical imaging.
- JOSM - Java OpenStreetMap Editor.
- Freeplane - Java program for working with Mind Maps
SVG Salamander is available under two licenses. You may choose to use either the LGPL license or the BSD license - whichever is more appropriate for your project.