Modern Art: A Look at Krita 2.3


The latest major revision to the Qt-based Krita painting application was released in late December, although due to the calendar timing and its packaging within a large KOffice release, it did not garner the attention it probably deserved. That was version 2.3.0. When the 2.3.1 point release came out in January, though, I decided to take a closer look.


Getting It; Looking Around

Krita is only available for Linux and BSDs — although that may change in the future, as the successor to KOffice puts more of an emphasis on Windows. At the moment, you can grab the latest code from Krita.org. In all likelihood, your Linux distribution may already have packages built, so you can start by checking there. Krita depends on KDE, and may or may not be packaged separately from the rest of KOffice. The only out-of-the-ordinary dependency to look for is the graphics library OpenGTL, which handles color space transformations and other niceties.

Krita's New Brushes2.3 is the first release since version 1.6 that the team officially designates as not only stable, but stable enough for artists to use. Presumably that means everything is user-friendly enough for regular use even by people who don’t know (or more importantly, care) what low-level components like XInput2 are. Apparently the 2.3.0 release included one bug that hit extremely-large files (more than 50 megapixels), which is what prompted the 2.3.1 bug-fix release — all that suggests that some real-world painters are, in fact, stress-testing the app.

For those new to it entirely, the Krita team formally adopted a new strategy in early 2010, consulting with interaction designer Peter Sikking (who is well known in open source circles for his ongoing involvement with GIMP) to set goals for the project and let coding and design decisions naturally grow out of them. That may sound obviously, but without a clear focus it is easy for a project to take on too many marginally-connected tasks that don’t fit in well together — and as a result, the code becomes harder to understand and the user interface devolves into a mess.

The Krita project decided to focus on developing a painting application (as opposed to a general-purpose raster image editor or a photo-retouching tool, for example). The result is a codebase built around brush-simulation engines, and an interface designed to make brush selection and adjustment simple — particularly when using a pressure-sensitive graphics tablet.

Not counting the new/open/save file buttons, the top toolbar is reserved exclusively for brush selection and adjustment. There you find the brush engine drop-down menu, the brush options and presets drop-down menus, the mode selector, and the color and pattern selector. Auxiliary windows like the layers dialog are placed off to the right, although in another nod to tablet-usability, you can keep the “advanced” color selector visible all the time in the right-hand column as well. The selection tools, polygon, eyedropper, grid and ruler tools are left to the smaller toolbar on the left hand side.Rotating Canvas with Krita

This layout is not just cosmetic; part of becoming a Krita pro is understanding its different approach to the typical raster editor tool set. In short, every tool involves a brush chosen from the top toolbar — including the “freehand” tool that most closely resembles the “paintbrush” tool in other raster apps, but also the straight-line, polygon, bezier, and other drawing tools. You are not limited to drawing solid, fixed-width straight lines and bezier curves; you can swish them onto the canvas with cross-hatching, particles, or any other brush option.

What’s Nouveau

The UI changes in Krita took place slowly over the last year or so (the developers had essentially already chosen to focus on the painting experience before working with Sikking to crystallize it into a plan). But there are still some interesting new features only now making their debut.

First, like every new Krita release, the 2.3 series includes several new brush engines. Existing brush engines already covered traditional soft-paint and airbrush techniques, plus painting with image filters (such as dodging and burning), smudge deformation and quirky behavior like painting with a mathematical curve. The new additions are the grid brush, the hatching brush, and the sketch brush.

The grid brush is a bit like painting with a pattern; as you paint the brush drops regularly-spaced dots on the canvas. You can, of course, change the spacing, scaling, and other behaviors of the grid in the brush engine’s options menu. The hatching brush simulates cross-hatching like you might see in inked drawings (think editorial cartoons, for example). The brush options let you adjust the angle, spacing, thickness, and other attributes of the hatch marks. Finally, the sketch brush is an adaptation of the open source Harmony and Scribbler tools, which layers pseudo-random shading on top of whatever you draw — particularly, it seems, when you change directions and otherwise shift the brush unexpectedly. The result is very natural-looking shading. It is on the unpredictable side, but it always produces aesthetically-pleasing results. if that sounds confusing, there are some excellent examples on the developer’s blog.

The other big news of interest to painters is Krita’s ability to rotate the canvas on the fly. That does not mean rotating the image by transforming all of the pixels, it means the orientation of the editable canvas without rotating the image. The result is that you can turn the canvas just like you would a physical piece of paper — any tablet use will tell you that makes it tremendously easier to find natural angles to blend, shade, and add to a drawing.

The new release also features an easier-to-use color selector. It sports a traditional-looking 2-D hue-and-saturation field, plus shade selectors, recently-used color palettes, and the ability to switch between different color-selector shapes: the x-versus-y plot, the triangle embedded in the color wheel, and so on. Best yet, you can zoom in on the color selector to make sure you pick precisely the color you want. No other open source application I know of does that.

Last but not least, 2.3 introduces a new on-canvas transformation tool that allows you to rotate, shear, stretch, and even warp the selection with natural tool handles. The warp mode gives you nine control points (corners, center, and center of each side), but just as important as its abilities are how easy to understand it is. The control points track your movements with dashed lines on the canvas, making it easy to reverse your steps if you warp the selection beyond recognition.

There are plenty of small fixes under the hood as well — for example, when you rotate a brush, its cursor outline now properly rotates on-screen as well, and all brush engines now support saving pre-sets, resetting options to the default, and other usability improvements. At the very lowest level, there is now support for a global settings curve for tablet pressure sensitivity (so you can set it once and every brush will inherit it), and Krita can now properly render with every core of multi-core and multi-processor machines.


When I spoke to Krita lead developer Boudewijn Rempt about 2.3, he mused that development was rapid enough these days that it can almost be hard to keep straight what has been released and what hasn’t. Clearly the project has big plans for 2011, starting with an impressive piece of cross-application cooperation: porting the advanced brush engine from MyPaint into Krita. This will allow you to paint in Krita with the brushes you already have installed for MyPaint, and best of all, the work is a collaborative effort between the two teams. That’s the kind of thing we like to see in open source.

Still, no one needs to wait for that work to hit the stable branch. Krita 2.3 is a solid improvement over the older codebase. One of my closely-guarded secrets is that I worked as an editorial cartoonist in college — I can tell you that the ink-like behavior in Krita’s brush engines (hatching and sketch included) makes it almost as easy to draw on the tablet as it is to draw on paper, which is exactly what every artist wants. But no matter what your medium of choice, you’ll appreciate other improvements, particularly the canvas rotation. It’s “artist-ready” indeed.