Re: [Gimp-developer] Pencil - Tool Options and Hardness

Ah, sorry. I missed that we're discussing hypothetical future
characteristics of the tools here. I was just looking at the current
difference between the pencil and the paintbrush tool.

Yes, it saves time if everyone reads the entire thread before commenting.
I'm guilty of this too sometimes, though, so don't worry about it. :)

However, knowing how anti-aliasing works, your statement is incorrect...

Well, if you choose to label the behaviour I described as
"pixel-grid-snapping" (or the lack thereof) as "anti-aliasing" then it
is not me who is making the error here. I actually don't think that they
are the same.

Anti-aliasing is a computer science  term used for rendering lines and
fills, and also for resampling.

You are describing the behaviour as "snapping". It's not snapping, it's
just not averaging.
The effect is the same, however. One click of the mouse, one pixel is
coloured in. It does not matter what you call it.
The options for drawing a line in a raster image are generally either

2.Nearest-neighbor (aliased, or "snapping" as you like to call it. :) )

The paintbrush tool resamples the brush when the pixel grid of the brush
is not perfectly aligned to the pixel grid of the image.

Yes, but with anti-aliasing turned off (which you can't presently), it

A perfect non-antialiased 1 pixel brush typically gets spread across
four adjacent pixels in the image, assuming you're working with a high
zoom level and don't specifically align the brush to the pixel grid of
the image.

I don't know why you would assume that. :)
It's incorrect at any rate.

This is *exactly* what the current paint brush tool does. And it really
is no rocket science to test it. Just do as I explained above. I even
did just a few moments ago, even if I knew this behaviour for years.

Ah, I thought you understood. Please go back and read the entire email

*It's not "rocket science" to do that either, or to understand that it's
not possible to show what the brush tool would do with no anti-aliasing in
I already know that the brush tool currently averages, this whole thread is
about adding a feature to the brush tool to replace the pencil tool.*

* - Now, see how mean that sounded? Does it make you a bit angry? Aren't
you glad I don't use that same tone in the rest of this email? :)
Let's be nice to eachother.

Again, the behaviour would be the same, otherwise it would not be a
single-pixel line, and would be an error in the aliasing (or nearest
neighbor, or snapping).

The Pencil tool does two things (compared to the paintbrush) that are
independent of each other:

a) it thresholds the alpha channel of the brush (with a quite low

b) it snaps the pixels of the brush to the pixels of the image, so that
no resampling occurs.

Again, b) is no different than nearest-neighbor algorithm for drawing
aliased lines (or resampling images).

a) That's a more interesting issue. And is worth noting for brushes that
are not hard-edged, or have Alpha. To test we would have to turn off
anti-aliasing and see. It could be handled in lots of different ways. The
way the Pencil tool currently works in this regard may or may not be the

For example, if you choose a fuzzy brush in the pencil tool, it's not fuzzy
at all. It's still a hard-edged circle. Would it not be better to dither
instead with solid pixels? You could do a lot more and much faster with
pixel art if this were the case.

This is the *current* state of Gimp. And it has been like this for ages.

If we want to put that as an option into the paintbrush (and lose the
pencil) then describing both of these behaviours combined as
"anti-aliasing" is IMHO misleading and wrong.

The behaviour for one-pixel brush like you described is not misleading or
wrong. If there are other side-effects, we can see what those are, and
correct or improve the behaviour as we like. As it is, there is no way to
test it in GIMP.

A logical first step would be to add the feature (which is a good one to
add to Brushes anyway), then see if it replaces the Pencil tool adequately.
If so, then replace it.
If not, then don't. :)


              simon budig de    
gimp-developer-list mailing list
List address:    gimp-developer-list gnome org
List membership:
List archives:

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]