Enclose and Fill Tool Proposal

I made a proposal for an “enclose and fill” tool: ⚓ T14993 Enclose and Fill Tool
If you read it, let me know your opinion, thanks.


Sounds interesting, who knows when and where you need it, usually you only notice that something is missing when you need it!


I think it’s a neat idea, but I thought you’re going to make the colorize mask combined with this concept. Which is to make filling the area realtime. Are they going to be separate tools?

I’m not against this feature as long as it’s not gonna be a time-consuming addition to maintain(look how much time it’s taking to Krita 5…).

Usually what I need colorize mask for is when I have to fill the whole silhouette of the character before coloring them so that my brushworks don’t stick out of its boundary. I think this Enclose and Fill is gonna make it easier if implemented.
But I’m not sure how useful it can be to the users who have lineart-based styles, compared to the current colorize mask. (I’m not saying it’s useless, I just wouldn’t know because I don’t do lineart-based styles.)

Its’ very helpful, Colorize Mask is hard to adjust on the fly specially when do don’t have preplanned colors or testing out things.

If this is implemented i would prefer this over colorize mask as I’m more of on the fly colorer rather than someone who planned out in advance. Since the setup for colorize mask is kinda a pain sometimes.

I think it will also be alot faster for example you are just coloring a single object of the background. I hope that its processing will be faster than colorize mask in my old pc though. that will be the breaker for me.


Thank you. I’m excited for this feature hahaha.

If i was still trying to make a webtoon - this feature be a welcome help.
I can see it being a more natural feel for me than setting up the colorize mask - specially if you have pen.

If this ever get implemented ill make sure to test it out.

i know there are request for real time colorize mask. but i hope this be a separate feature from that.

There is a certain workflow [specially for those in more lineart based art] that will use this and also a certain style that doesnt jive well with the other way of doing flats.

some of the points of usage this can fill that differs from colorize mask / I address it in a previous thread.

Flood Fill improvements for static/ non animated illustration.

this tool is like how i manually do my flats / but instead of coloring line this select and then fill.

That’s sound interesting, even if I’m still filling areas with brushes, like children does to fill a picture with color pen, taking care to not pass the border line :sweat_smile:

So the brush mode sound interesting for me… start to paint with a brush, without taking care to not pass border anymore but with a good result? :star_struck:


I like this feature very much. But I don’t seem to see anything like “fill gaps” in the plan. I’m not sure if it should take priority over the improvement of colorize mask.
Regarding “subtool selection”, can “Enclose” be used as a mode? Just like the “eraser mode”. We convert pixels to masks so that we don’t have to worry about too many tools. We also don’t have to consider whether the ellipse is meaningful.
The “Enclose mode” icon can be located next to the “Eraser mode”, we click on it and a box will appear for additional settings. No need for extra docker (but this design looks like photoshop behavior…)
In the previous discussion, we also mentioned things about selection. So we can also prepare a “select mode”. Otherwise, there will be a few more sub-tools…

Let’s run away a little bit. CSP has a brush setting specifically to deal with such situations. I have no idea how it was done


I really feel this would be more essential than the colorize thing.

Yes, they are separate tools. They are very different in nature, from how the user selects the areas to fill to how the algorithms work. This tool is like an extension of the classic fill tool.

Well, this tool is somewhat straightforward to implement since the algorithms it needs are already implemented. It’s a matter of how they are combined. I’m not part of the Krita team, so all I say and want to implement it’s just a matter of what I need and how much free time I have. Features like this I want them also for my own use, that’s one of the reasons I want to implement them.

For illustration-like works, I think just the normal fill tool or coloring with the brush is enough, at least for me. Tools like the one proposed or the colorize mask I think are more useful if you have to color a lot of drawings (comic, animation). The colorize mask has an advantage that is not really present yet. Since the scribbles are independent they could be moved, maybe automatically, allowing to color multiple frames easily and faster. Normal filling tools just paint directly on the layer, so it can be harder to propagate the filling to other frames. A feature that allows to paint multiple frames at once would be great for these kind of tools.

Fill gaps is really an independent thing. I thought about it but it will have to be implemented later so it doesn’t delay this. Also I think it needs more thought because maybe we can come up with a generic way of filling gaps that can be used in multiple places (classic fill, colorize mask, etc.). But it’s also in my todo list.

The colorize mask I want to propose needs more time and I’m still studying ways of making it faster, so I think it’s better to just implement these first and in the meantime I’ll be writting the proposal so that other people can really understand the inner workings and maybe help implementing it.

I think i’ll make just one tool and make the enclosing mode an option in the tool options. I find making it a button a bit weird. How would thet work? Which tool would you have to select, and then check that button?

Well, once this tool is implemented and tested, it would be easy to make an enclose and select tool that is identical but that just creates a selection instead of filling (that is also in my todo list).

All right, another thing that goes to the todo list. After analyzing it I think it shouldn’t be hard to implement.

Although they achieve the same purpose at the end, I think the main difference will be when animating. If one can freely move the scribbles in the colorize mask, and they can be easily extrapolated between frames, then it will be a huge difference, but that is not implemented yet. I think at the end they will serve different workflows.


I think for more static portraits / specially for arts that are line based and require flats the enclose and fill will be more used.

While for animation - once colorize mask can be speed up and be more flexible in terms of moving colors, it will be great help for animators since that’ll reduce their coloring works.

That’s how i see this two tools will be in the future.

Thank you for taking on this project.

Exactly. But you will have more people illustrating that animating making this the more popular. Colorize only makes sense in mass production situations.

Surprisingly, I always thought you were the official developer. Because most of the changes you’ve made over the last few months are what I wanted

It’s like “eraser mode”. Check “eraser mode” to make the various tools that create pixels become erase pixels (whether it’s a brush, rectangle, ellipse or whatever)
And this is what I mean by “Enclose mode” and “select mode”, which, when checked, turns the places where pixels should be drawn into the masks you mentioned
Except for the “fill tool” which makes little sense, all the other tools work well together
The settings should be remembered so that we don’t need to change them as often. Feel free to pick a tool that draws pixels and check “Enclose mode”. After drawing the graphic, it will be transformed into a mask, as you said, to retrieve the closed area …


Maybe that’s because i’m not in the team and I don’t have to deal with all the really hard things, like fixing bugs, mantaining code, making things faster, dealing with different plattforms, and so on. I’m sure the official developers also want to implement several ideas they have in mind, but there are a lot of things that need to be done that are not directly apparent to the users, and the official team is small (very small).

I’m just an artist by training who knows to code (self taught) so there are still a lot of things (A LOT) I don’t know how to implement in Krita, but asking in the irc channel to the real masters helped a lot (that’s another part of their jobs, dealing with people like me, which takes time).

So let me use this post to also ask anyone who can to donate to the krita foundation. That in the end is what will make possible having a better krita. People like me may implement specific features, but that’s not really the backbone of the app. I myself started donating what I can since the dev fund started.


I assume this one is very easy to create a mess if the sketch is little messy and not a strictly drawn lineart.

Which one do you mean? I’m just suggesting an additional option to combine with an existing tool. There shouldn’t be a functional difference

I’m implementing this. It seems to work. I still have to finetune it and implement the brush subtool:



This is amazing.

Looks great! But can it change the polygon to Bezier? I think Bezier is a complete replacement for polygons.

Could you make the freehand selection method as default if you don’t mind? In 99% of the time people’s gonna use freehand selections, and I don’t want to select it in the tool option every time I use it…

Everything other than that is truly amazing.