pencil2d / pencil

Pencil2D is an easy, intuitive tool to make 2D hand-drawn animations. Pencil2D is open source and cross-platform.
http://pencil2d.org
GNU General Public License v2.0
1.45k stars 272 forks source link

[Enhancement] - Expand / Feather settings for the bucket tool #438

Open feeef opened 8 years ago

feeef commented 8 years ago

On bitmap layers, when using the bucket tool within a stroke that has feather, there is an ugly separation between the painted area and the stroke.

The correct way of painting a bitmap layer on Pencil2D is to have a "Colour" bitmap layer underneath the "Stroke" one we. This way the bucket colour is applied to the "Colour" layer only, leaving the "Stroke" layer unchanged.

In that regard, and in order to avoid that ungly separation, I propose to add 2 settings / features to the bucket tool. This settings would add :

screenshot from 2016-01-18 09-59-19

MrStevns commented 8 years ago

Yes indeed being able to expand certain areas seems like a good addition when filling or making selections

The ability to feather seems like a unnecessary feature if you could say, just paint below the lines, which does not seem to be possible currently and is generally a feature used to make color and lineart be completely filled together.. I would propose something like that instead. Putting layers beneath each other should in my opinion also mean that they're stacked in that way, meaning that if have lines drawn on the upper layer, then painting on the layer below should be hidden behind those lines. nevermind that.. i didn't see the bug reference. I however still don't see why would you want the ability to feather the painted area, you mean like watercoloring?

feeef commented 8 years ago

Yes, you can indeed separate the line art from the colours Pencil2D lets you paint on a different layer. The colour stays behind the line art.

Having the ability to feather the painted area can let you be able to colour something, get rid of the line art layer and still have smooth coloured shapes.

You can also handle soft (gradient) shadows with a lot of feather. You just draw your shadows lines on a specific layer, you add a "Shadows colour" layer underneath it and paint your shadows with some feather. Then you hide your shadows lines.

You can also quickly handle some glow or light effects just by applying the colour with a lot of feather. For example when painting a candle flame, you just choose a bright colour with a lot a feather, apply your colour with the bucket tool and your light is there.

I am sure you can do many other cool stuff with the feathering feature.

Kaikogf commented 7 years ago

@feeef

The Expand settings for the bucket tool was already implemented [it is working on the last build 23August2017]. I just checked it today. Its working fine!

So there is only one feature left for the Bucket tool...

[You may edit your title of this post. It may bring accuracy to the developing team] ;)

MrStevns commented 7 years ago

The expand feature is not quite there yet, while it's true that you can "expand" the area by using tolerance, it's not a good way to go about it. What should be done instead is to use blob analysis, create a kernel that will go over the bitmap and expand or contract the painted area. I have an idea how to do this but haven't been able to get time to implement it yet.

Kaikogf commented 7 years ago

Oh... I see!

And the ability to feather the painted area is going to be perfect for some painting stuff ! 👍