Brush spacing / rotate / scale

Boudewijn Rempt boud at
Wed Nov 14 08:22:29 CET 2007

On Tuesday 13 November 2007, Matthew Woehlke wrote:

> It's disruptive to workflow (at least, to people coming from PS and/or
> GIMP). It also loses the ability to repeatedly overstroke parts of an
> H/V path. Also, at least in Krita 1.6.1 there is no real-time update as
> in PS or GIMP.

Er... I've never seen a real-time update of a stroked path in Gimp or 
Photoshop either.

> Long answer:
> The PS/GIMP model cleanly segregates drawing into two aspects: tool
> function, and stroke placement model. All brush-like tools support the
> 'shift' stroke placement modifier for drawing lines, polylines, and
> constraining to an H/V path.
> Krita does not make this clean separation. We have a number of
> brush-like Tools (brush, eraser, blur, etc) that support exactly one
> stroke placement method. In addition, we have two "tools" that impose a
> different stroke placement method but only support a small subset of
> Tools. Instead of a consistent and complete hierarchy, we have two
> independent "tool trees", one that starts with function and only
> supports one method of stroke placement, and one that starts with stroke
> placement and provides only a subset of functionality.

Actually, that's not correct: we have a set of stroke placement methods
(freehand, line, ellipse, rectangle, in 1.6 path) and a set of stroke methods
(brush, pencil, eraser etc.) that work with all stroke placement methods. The
former we call tools, the latter paintops in Krita. All paintops should work
with all painting tools. There are two exceptions in 1.6: painting with 
filters and duplicate, and those are paintops in 2.0, too.

> Hopefully this is better in 2.0 (which I haven't had a change to play
> with, yet) with flake, but the line/polyline/bezier tools in 1.6.1 feel
> like a poor imitation of PS's paths, which is what they should have been
> in the first place. Non-real-time paths to me only make sense if they
> are persistent and editable, which these tools fail at (beziers at least
> are editable but not persistent, and also cannot be filled).

As I said, I haven't seen real-time editable, stroked paths in Gimp (or 
Photoshop). The gimp path tool is very close to our path tool, with the 
exception that we don't have a separate stroke dialog but stroke the path 
with the currently selected paintop. Ideally we'd be able to stroke the path 
shapes that we get from Flake, but we haven't had time to implement that. For 
2.0 we still need to do either that, or port the old path tools plugin. (if 
we do that, we should consider not removing the path after stroking it, until 
the user selects another tool.)

> Use case:
> In PS, I use polyline stroke placement often when masking images; this
> tends to give me better results than pure freehand drawing. In Krita,
> this is impossible because the polyline tool does not paint until I am
> done, so that a: I am constantly guessing what I am actually drawing,
> and b: in order to see what I have drawn, I have to "forget" my last
> point. Plus now I am constantly changing tools.

Boudewijn Rempt

More information about the kimageshop mailing list