Monday, April 24, 2006
Vector Drawing
I truly love cross-platform developed items. The benefit of cross-platform development is that the end result is usually a very stable and very versatile product. This is simply because the more diverse the install base the stricter the development process has to be. If it is not, then the product will not be a successful cross-platform product.
Whether it be a hardware cross-platform Operating Systems/Kernels such as Linux which runs on a huge amount of processors or hardware devices such as USB devices such as the Logitech QuickCam or in the software realm, offerings such as GNU utilites or various applications such as OpenOffice, Audacity, or The Cool Pick Of The Day – Inkscape http://www.inkscape.org/
Inkscape is a cross-platform Open Source vector graphics editor, with capabilities similar to Adobe Illustrator ™, Macro media’s Freehand ™ and Corel’s CorelDraw ™ supporting the Scalable Vector Graphics (SVG) file format. It runs on MacOS X, Linux, and Windows. The main goal of Inkscape is to create a powerful and convenient drawing tool fully compliant with XML, SVG, and CSS standards.
The supported SVG features include shapes, paths, text, markers, clones, alpha blending, transforms, gradients, patterns, and grouping. It also supports Creative Commons meta-data, node editing, layers, complex path operations, bitmap tracing, text-on-path, flowed text, direct XML editing, and more. It can import JPEG, PNG, TIFF format files others and exports PNG as well as multiple vector-based formats. Inkscape does not yet support SVG filters, animation, and SVG fonts.
Inkscape is a vector drawing program which is unlike raster drawing programs like The Gimp, Micro Frontier’s ColorIt™, or MSPaint™. Raster drawing applications are pixel level editors that create pictures by placing pixel on a canvas. Vector drawing applications create objects that are mathematically defined to allow them to be scaled and manipulated without degrading their quality. It also allows the ability to apply mathematical operations such as Boolean operations such as
The Inkscape interface is very simple and clean and also has a very intuitive keyboard shortcut interface. It includes many tools for selecting, drawing, and modifying objects. The tools are: the selection tool; the path edit tool; the zoom tool; the square and rectangle tool; ellipse, circle, arc tool; the polygon and star tool; the spiral tool; the bezier tool; the calligraphy tool, the text tool; the connectors tool; the gradient tool; and the eyedropper tool. It also has the ability to do layers, grouping objects, and transformation of objects such as flipping, scaling, skewing and free rotating.
It also has interesting additions such as grid and guideline snapping that uses a tunable "gravity" style rather than the typical absolute snapping. Fine tuning objects can be done such as nudging a pixel at a time. There is also an XML editor built in to allow direct access to the drawing's underlying DOM model.
Here is a nice tutorial on Inkscape http://tavmjong.free.fr/INKSCAPE/MANUAL/html/index.php
Installation
First you need inkscape. There are quite a few options for Linux: tar.gz source code, rpm staitic binaries, rpm sources, or an autopackage package. Since there are quite a few components that are necessary, the static binaries RPM package seemed the quickest to install. Installation was simple for my i686 architecture. To get all the download options and a browser download page go to http://www.inkscape.org/download.php.
Since I have Red Hat AS 4, I did a
cd /tmp
wget http://internap.dl.sourceforge.net/sourceforge/inkscape/inkscape-0.43-0.static.i686.rpm
rpm -i inkscape-0.43-0.static.i686.rpm
To run inkscape, just type
inkscape
Conclusion
Inkscape is a very nice vector drawing package for artists and non-artists. Its elegant interface allows fast creations with excellent quality output and its XML editor allows some very hardcore tweaking. It also is nice to have an "image" creation application that uses XML output (SVG) files. Each release of the software continues to add significant functionality and the developers have an aggressive stance toward elliminating bugs. The project has multiple ways to get help such as they mailing list, a Wiki, and even Jabber and IRC messaging for developers. The inkscape community seems to really be a close knit group of creative and helpful people who are dedicated to producing and supporting a great product.