October 30, 2006

Krita 1.6: State of the art

Author: Nathan Willis

The KOffice raster image editor Krita reached version 1.6 along with the rest of the office suite earlier this month. But don't be misled; although Krita comes bundled with KOffice, it is not a second-tier productivity accessory like Microsoft Office Picture Manager. Krita is a fully-loaded raster graphics workhorse that stands on its own.

Krita 1.6 is included in the main KOffice source packages, and also available separately in contributed binary packages. KOffice is built for KDE 3.3 or later; Krita itself depends only on the koffice-libs, koffice-data, and krita-data packages.

Krita uses LittleCMS for color management; it reads and writes embedded profiles, you can assign a monitor profile and rendering intent, apply a profile to new images, and tell Krita what to do when importing image data from the system clipboard.

The program has pressure-sensitivity support for the stylus, eraser, and cursor functions of graphics tablets. It does not utilize tilt, although the framework is in place, so tilt support may come in future releases.

Color modes
Krita supports generic 8- and 16-bit integer modes for grayscale, RGB, CMYK, and YCbCr color models, 16- and 32-bit floating-point mode for RGB, 16-bit integer for L*a*b, and 32-bit floating-point for LMS. A separate 8-bit integer RGB mode for watercolor paint simulation is also available.

When you launch Krita, a "new document" dialog pops up, through which you can create a new blank image via built-in template or custom settings. By default, Krita starts with all interface elements in a single window -- toolstrip on the left, layer and options palettes on the right, and brush selector at the top with the menu bar. You can detach all of these elements and move them around independently to suit your work preference.

If you are new to Krita, you will probably notice the shape-drawing tools in the toolstrip, reminiscent of vector drawing apps, but hunt in vain for a "pencil tool" icon. Here Krita takes a slightly different approach than some other editors: the toolstrip allows you to set the drawing mode (freehand or one of the geometric primitives); the style of drawing is controlled by the brush selector at the top of the screen. Pencil, paintbrush, airbrush, and eraser are the options.

Likewise, adjustment operations for contrast and color balance are located in the Adjust submenu of the Filters main menu. Although Krita allows in-image scaling and rotation of a selection, some transformations (such as flipping and shearing) can be applied only to individual layers.

Apart from those specifics, all tools and operations in Krita are comfortably self-explanatory. Selection, color, and text tools, layer options, and crop/resize operations are all easy to use. Many of the keyboard shortcuts are the same as those used by the GIMP.

New in 1.6

Krita 1.6 watercolor mode. Click to enlarge

Several new tools make their first appearance in this release. The first is a Bezier curve tool; with it you can draw and adjust cubic Bezier paths just as you can with other geometric primitives. The resulting paths can be painted with any of the built-in brush options.

Virtually the same control is available in a Bezier select tool. Next to Bezier select is something called magnetic select -- this is the edge-following selection tool called everything from "edge select" to "scissors select" to "smart select" in other applications. With it you draw a selection outline, and the tool attempts to tighten your line around edges it recognizes in the image. This kind of tool is never foolproof, but always helpful.

Krita 1.6 also introduces the application's first perspective operations, including a perspective transformation tool and the "perspective grid," which allows you to manipulate vanishing points on a 2-D grid overlay. The resulting grid then functions as the guide for drawing lines in perspective. I found it a little difficult to use, so allow time for some practice.

This release also adds some useful new filters, such as unsharp mask, add noise, and an adjustable blur. Layer masks are also new, with basic functionality. Adjustment layers, which were added, in limited form, in 1.5, can now adjust brightness and contrast.

You can read a detailed changelog at the KOffice site.

The future is now

I talked to Krita maintainer Boudewijn Rempt about the status of the project and where it is headed from here. Given the developers' limited time, it is hard to meet the needs of all the different raster graphics users. "As soon as your app starts being moderately capable," he says, "the pro photo mavens start clamouring for non-destructive editing of raw images, the illustrators want cool brushes and filters, the Web people want scriptable layers...."

The team cannot deliver everything at once, but the 1.6 release attempts to provide something new for each set. Unsharp mask and the new features for adjustment layers are there to help photo-editing users, according to Rempt, while "illustrators and Web people" will make more use of the Bezier curve tool and layer groups.

When looking forward to the next release, Rempt is excited about adding to the natural media tools, which were introduced in Krita 1.5 as the "watercolor" editing mode. Both Rempt and Cyrille Berger have been working on plugins for the 2.0 series; Berger on a dynamic brush architecture, and Rempt on porting CPaint (an Irix-based Chinese ink brush simulator) to the Krita core.

As Rempt told me earlier this year, he sees these "creative" tools as an acute component of Krita's future, but they will require big changes to the Krita trunk. The existing implementation of watercolor paint simulation is an entirely separate image mode; not all filters and effects are available, and converting to a standard color modes requires a transformation that works only one-way.

Nevertheless, the vision is for Krita to be more about creating images than about manipulating them. If you haven't tried it yet, the 1.6 release is the perfect opportunity to start.

Click Here!