Re: [Gimp-developer] What would it take to add an option for the Pencil tool to support brush transparency?





On 5/21/19 9:57 PM, James Houx via gimp-developer-list wrote:
I /really, really /badly want this feature!?? Badly enough that I will 
have to figure out how to hack the source myself unless can tell me a 
way to accomplish it.

Basically, the problem is this:

The brush tool uses sub-pixel sampling to get an anti-aliased effect 
when you paint.?? I don't want this, because I'm working at pixel-level 
scale and I need exact pixel painting with anti-aliasing.

The pencil tool would be the natural solution, but the pencil tool does 
not support transparency for RGB brushes!?? I'm surprised because it 
seems like such a very simple feature. :(

Right, the pencil tool lumps together both binary transparency and
pixel-grid alignment, which are really two independent things.  It has
come up before, and I agree that being able to control these separately
would be useful.  It's one of those simple features where generality and
consistency get in the way:  Should we add this to the pencil tool, or
the paintbrush tool?  What about the other paint tools, which already
suffer from an annoying lack of consistency?  Should we just merge the
pencil and paintbrush tools?  Or, if this separation is convenient, why
not generalize this and allow creating new tools from arbitrary tool
presets, etc.?  It's a slippery slope :)  Ultimately, though, I agree
that it's a useful feature.

Without this, there's no way to do per-pixel precise painting that 
supports transparency.
It is possible, although it's a bit clunky:  You need to set up a
1px-by-1px image grid ("Image -> Configure Grid..."), and enable
"View -> Snap to Grid" (and possibly also "View -> Show Grid").  This
would snap the pointer to the pixel grid in all tools, including the
paintbrush.  Now, here's the clunky part: the grid offset should depend
on the brush size -- if the brush size is even, you need a grid offset
of 0px (grid along pixel edges), while if the brush size is odd, you
need an offset of 0.5px (grid along pixel centers).  If the brush isn't
square, you might need different offsets in different dimensions.

--
Ell


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