Sign up now! · Forgot password?
RSS/Atom feed Twitter

What would it take to add an option for the Pencil tool to support brush transparency?

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

3 of 3 messages available
Toggle history

Please log in to manage your subscriptions.

What would it take to add an option for the Pencil tool to support brush transparency? James Houx via gimp-developer-list 22 May 01:57
  What would it take to add an option for the Pencil tool to support brush transparency? Liam R E Quin 22 May 03:40
  What would it take to add an option for the Pencil tool to support brush transparency? Ell via gimp-developer-list 22 May 06:21
James Houx via gimp-developer-list
2019-05-22 01:57:23 UTC (over 2 years ago)

What would it take to add an option for the Pencil tool to support brush transparency?

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. :(

Without this, there's no way to do per-pixel precise painting that supports transparency.  Is this something that would be possible to add in the current developer release?  Or if nobody has time, could someone please tell me where I'd have to look in the code to add support for it?

Fyi, no other paint program out there supports this entirely.  I checked Krita, Paint Shop Pro, and Photoshop.  Paint Shop Pro technically does do it, but the features of the "Picture Tube" are absolutely horrible in their limitations.  GIMP should be able to do it *easily* if the pencil tool could just be modified with an option to support transparency from the source brush image.

I really desperately need to be able to do this exact technique for a game I'm developing that requires a tremendous amount of by-hand, per-pixel terrain and vegetation painting.  I would be so greatly appreciative if anyone can tell me how to make this technique possible! /Thank you in advance!/

James

Liam R E Quin
2019-05-22 03:40:57 UTC (over 2 years ago)

What would it take to add an option for the Pencil tool to support brush transparency?

On Tue, 2019-05-21 at 20:57 -0500, James Houx via gimp-developer-list wrote:

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. :(

I’m not sure what you mean. It certainly has support for transparency. otherwise, brush/pencil strokes could never miss pixels. See e.g. the green pepper brush or the confetti brush.

Maybe you could explain in more detail what you mean by supporting transparency?

Liam (slave ankh)

Liam Quin - web slave for https://www.fromoldbooks.org/
with fabulous vintage art and fascinating texts to read.
Click here to have the slave beaten.
Ell via gimp-developer-list
2019-05-22 06:21:24 UTC (over 2 years ago)

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