Introducing Vector Graphics and Inkscape

SVG (Scalable Vector Graphics) is an open W3C standard for describing
two-dimensional graphics in a different way than traditional computer
images, which are all bitmaps of some kind. A bitmap or raster graphic
is, ignoring compression and other optimization techniques, simply one
long list of all the pixels constituting an image, each one described
in as much detail as possible—exact color, transparency and so on.

Instead, a vector graphics file contains a series of pseudo-mathematical
instructions—such as draw a straight line from this to that
coordinate, create a rectangle of this size, rotate it 47 degrees
clockwise or fill it with red. The grandfather of vectorial formats
is PostScript.

The first and main benefit of this alternative method is being completely
separate from the capabilities of the physical display, be it a computer
monitor or a piece of paper. More exactly, although it is still (obviously)
impossible to see an ultra-crisp image on a low-resolution monitor or
printer, a vector graphic has no intrinsic resolution nor limits to
it. Vector graphics can be zoomed, shrunk or rotated as much as you
wish or as many times as you wish without any degradation, even when
printed. For an example, take a look at Figure 1, which shows
two zoomed versions of the same drawing side by side, a raster drawing and a vector
drawing. The vector one, on the left, is much crisper than the other,
isn't it?

Another big plus of vector image files is that, because they are sequences
of instructions, the size of the image does not affect that of the file,
saving both disk space and download time on slow connections.

Last but not least, creating or processing “a series of
commands” is
a task that can be delegated to a computer
program easily and efficiently. SVG files can be mass-generated or modified in almost any way
without human intervention. The SVG 1.1 specification also describes 16
filter primitives that make it possible to obtain very complex objects
as well as highly realistic effects.

The main reason the world hasn't gone all vectorial yet is that
bitmaps remain much better at reproducing the subtle differences in
color and contrast that are present in photographs. Vector graphics,
however beautiful, are “synthesized”, and it often shows. In spite of
this, they remain extremely useful and are becoming more and more common
among GNU/Linux desktops.

Go Vectorial with Inkscape!

The most basic GUI-based vector graphics tools for Linux is Figurine,
which uses the same file format as the venerable Xfig, and Dia. A
much more promising application is Karbon 14, the vector graphic
component of KOffice. These days, however, the easiest way to get
started with vector graphics on Linux is Inkscape, because of its larger
on-line documentation (see Resources) and a wider, more active user
and developer community. So, let's see how to start producing vector
graphics with Inkscape.

The Interface

The Inkscape main window, shown in Figure 2, is pretty crowded. Right
below the main menu is a row of shortcuts to the most commonly used
commands, followed by a drawing-tool-dependant control bar. If you need to
cooperate with other users, sharing not only text but graphic information,
fire up the Pedro Xmpp client available (if your distribution included
it and all its dependencies) under the Whiteboard menu. Two handy
buttons with a wrench icon on the top-right corner give fast access to
global Inkscape preferences and to those of the current document.
The drawing tools are mapped to buttons on the right side—that's where
you go to create rectangles, spirals, polygons, circles, stars and lines
of any possible shape. All these objects have separate panes and control
bars where you can set anything from the number of turns in a spiral to
the points in a star. Finally, a bottom bar displays a color palette
and some status information.

Starting a New Project

The first thing to do after you click on File→New is decide the
geometric format of your drawing. There are several choices—from
several DVD covers to desktop wallpapers—at all the standard computer
and HDTV resolutions plus desktop icons, business cards and more.

To add objects to a drawing, you either can use the shape-related tools
on the left or draw from scratch with the pencil, pen and calligraphy
tools. Tools in the second group all draw paths defined by nodes. Existing
paths can be modified with the node tool, which is the button right
below the one with the arrow. After activating that tool, nodes are
shown as small diamonds and can be deleted or moved around. To select
all and only the nodes you want as quickly as possible, use the mouse
wheel. Scrolling it up selects nodes starting with those nearest to the
cursor; scrolling down deselects them. You also can smooth whole paths
(Path→Simplify) as well as join or break them.

Figure 2. Tremor Values Applied to a Clean Vector Image of the Number Three

The tool for writing or anything else that must be drawn by hand with
a mouse or a graphic tablet is the calligraphy pen, which is associated
with the nib icon. There are several options for changing the appearance of
the pen strokes and their general behavior in order to achieve a more
realistic or personal look. Figure 2 shows the number three drawn with tremor
values of 0 (on the left) and 1.00 (on the right).

Once you have created or imported an object, you can modify its appearance
in many ways, thanks to the Inkscape filters, which can do things as
different as fractalization, saturation adjustment and
Gaussian blur. The latter is used to adjust a blur setting for an object.