ImageMagick is a command-line tool available on most platforms and is used for batch image
manipulation. If you have 300 images of different formats and you want to scale them all by 12% and
apply a drop shadow, ImageMagick is the tool for you. Again, this tool does not have any JavaFX-specific
features; it is just a very useful item to have in your toolbox. Since it is command-line, it can fit nicely
into many automated tasks. Download at http://www.imagemagick.org .
Blender is a tool for creating 3D content. It is feature-rich and has been used to create a number of
community-driven animated movies. Though JavaFX does not currently support 3D content, Blender is
still useful for creating 2D content that looks unapologetically 3D. I use this tool to create 3D-looking
sprites in my video games. Download at http://www.blender.org /.
Inkscape is a vector-based drawing tool and is most often compared to Adobe Illustrator. Content
created in Inkscape can be saved directly to JavaFX source code. While the workflow is a little different
from the JavaFX Production Suite and Adobe's tools, a fantastic designer/developer workflow can be
created with this tool. Download at http://www.inkscape.org/ .
Audacity is a tool for recording and editing sounds. While this topic focuses heavily on graphics and
animations, some applications require sound effects. Give this tool a try before spending money on a
commercial product. Download at http://audacity.sourceforge.net/ .
I started this chapter by describing the design decisions that must go into creating a graphical interface.
The role of designers—and how that relates to developers—was explored within the context of creating
an application. Specific features of the JavaFX development tools were highlighted to show how the
platform supports a streamlined designer/developer workflow. Lastly, I briefly touched on a number of
open source tools that can be helpful for creating a graphics-rich application.