From Krita Documentation
Jump to: navigation, search

Flat Coloring

So you've got a cool black on white drawing, and now you want to color it! The thing we’ll aim for in this tutorial is to get your lineart colored in with flat colors. So no shading just yet. We’ll be going through some techniques for preparing the lineart, and we’ll be using the layer docker to put each colour on a separate layer, so we can easily access each colour when we add shading.

Note This tutorial is adapted from this tutorial by it's original author

Understanding Layers

To fill lineart comfortably, it's best to take advantage of the layerstack. The layer stack is pretty awesome, and it's one of those features that make digital art super-convenient.

In traditional art, it is not uncommon to first draw the full background before drawing the subject. Or to first draw a line art and then colour it in. Computers have a similar way of working.

In programming, if you tell a computer to draw a red circle, and then afterwards tell it to draw a smaller yellow circle, you will see the small yellow circle overlap the red circle. Switch the commands around, and you will not see the yellow circle at all: it was drawn before the red circle and thus ‘behind’ it.

This is referred to as the “drawing order”. So like the traditional artist, the computer will first draw the images that are behind everything, and layer the subject and foreground on top of it. The layer docker is a way for you to control the drawing order of multiple images, so for example, you can have your lineart drawn later than your colors, meaning that the lines will be drawn over the colors, making it easier to make it neat!

Other things that a layer stack can do are blending the colors of different layers differently with blending modes, using a filter in the layer stack, or using a mask that allows you to make parts transparent.

i Programmers talk about transparency as Alpha, which is because the 'a' symbol is used to present transparency in the algorithms for painting one color on top of another. Usually when you see the word Alpha in a graphics program, just think of it as affecting the transparency.

Preparing you line-art

Put the new layer underneath the layer containing the lineart(drag and drop or use the up/down arrows for that), and draw on it…

Krita filling lineart14.png

…And notice nothing happening. This is because the white isn’t transparent. You wouldn’t really want it to either, how else would you make convincing highlights? So what we first need to do to colour in our drawing is prepare our lineart. There’s several methods of doing so, each with varying qualities.

The Multiply Blending Mode

So, typically, to get a black and white lineart usable for colouring, you can set the blending mode of the lineart layer to Multiply. You do this by selecting the layer and going to the drop down that says normal and setting that to Multiply

Krita filling lineart1.png

And then you should be able to see your colors!

Multiply is not a perfect solution however. For example, if through some image editing magic I make the lineart blue, it results into this:

Krita filling lineart2.png

This is because multiply literally multiplies the colors. So it uses maths!

What it first does is take the values of the RGB channels, then divides them by the max(because we're in 8bit, this is 255), a process we call normalising. Then it multiplies the normalised values. Finally, it takes the result and multiplies it with 255 again to get the result values.

Pink Pink (normalised) Blue Blue (normalised) Normalised, multiplied Result
Red 222 0.8705 92 0.3607 0.3139 80
Green 144 0.5647 176 0.6902 0.3897 99
Blue 123 0.4823 215 0.8431 0.4066 103

This isn't completely undesirable, and a lot of artists use this effect to add a little richness to their colors.

Easy, can work to your benefit even with coloured lines by softening the look of the lines while keeping nice contrast.
Not actually transparent. Is a little funny with coloured lines.

Transparency Masks

The second method is to use transparency masks.

right mouse button the layer and go to Convert → to transparency mask

Krita filling lineart4.png

Now the underlying layer will have the lineart layer as mask, meaning that the black parts are transparent. We want the white parts transparent, so we select the lineart-mask and invert it. (Filter → Adjustment → Invert or Shift+I). Then drag and drop the transparency mask on any filled pixel layer:

Krita filling lineart5.png
Actual transparency, separating said transparency from the colour.
You can still get quicker. More entries in your layer menu. Doesn’t work without grayscale linework.

Color to Alpha

The most convenient feature is probably the color to alpha filter. It's under Filters → Color → Color to Alpha

Krita filling lineart3.png

Click the white bar to change the colour you want to remove. In our case, the default White is fine.

Quickest way. Works with coloured linework.
No strict separation of transparency and color like the mask example..

Filling your line-art

Again, with the actual colouring in there’s a bunch of methods, and each of them have advantages and disadvantages.

Before we start, I'd like to recommend you to pick muted colors for the flats. So no super-saturated colors. This is because super saturated colors can be a little painful on the eyes, especially if there's a lot of them. They look really cool for special effects, like fire and magic though, so reserve them for the special parts of your drawing!

Free-Hand brush tool

Krita filling lineart6.png

Just like preschool, take any fully opaque brush and start colouring in. This method of colouring flats is basic but tedious, and I don’t recommend it outside of cases where the lineart is really fuzzy and/or detailed. Often you’ll be using it alongside the other techniques here.

If you’re using Krita, I suggest looking at the Shape Brush type for this, or just the Fill_Circle brush. Also, to use the eraser in Krita you can press e on your keyboard or press the Eraser icon in the toolbar.

Maximum control.
Tedious. You don’t want to do large areas with this.


fill tool

In most cases the fill-tool can’t deal with the anti-aliasing(the soft edge in your lineart to make it more smooth when zoomed out) In Krita you have the grow-shrink option. Setting that to say… 2 expands the colour two pixels.

Threshold decides when the fill-tool should consider a different colour pixel to be a border. And the feathering adds a extra soft border to the fill.

Now, if you click on a gapless-part of the image with your preferred colour…(Remember to set the opacity to 1.0!)

Depending on your lineart, you can do flats pretty quickly. But setting the threshold low can result in little artifacts around where lines meet:

Krita filling lineart7.png

However, setting the threshold high can end with the fill not recognising some of the lighter lines. Besides these little artifacts can be removed with the brush easily.

Pretty darn quick depending on the available settings.
Again, not great with gaps or details. And it works best with aliased line-art.


Selections work using the selection tools.

Krita filling lineart15.png

For example with the Bezier Curve Selection Tool you can easily select a curved area, and the with Shift+left mouse button (not left mouse button+Shift, there's a difference!) you can easily add to an existing selection.

Krita filling lineart16.png

You can also edit the selection if you have Select → Show Global Selection Mask turned on. Then you can select the global selection mask, and paint on it. (Above with the alternative selection mode, activated in the lower-left corner of the stats bar)

When done, select the color you want to fill it with and press shift+backspace

Krita filling lineart17.png

You can save selections in selection masks by right mouse button a layer, and then going to Add → Local Selection. You first need to deactivate a selection by pressing the circle before adding a new selection.

This can serve as an alternative way to split out different parts of the image, which is good for more painterly pieces:

Krita filling lineart18.png
A bit more precise than filling.
Previewing your color isn't as easy.

Geometric tools

So you have a tool for making rectangles or circles. And in the case of Krita, a tool for bezier curves.

Select the path tool (path tool), and set the tool options to fill=foreground and outline=none. Make sure that your opacity is set to 1.00(fully opaque)

By clicking and holding, you can influence how curvy a line draw with the path tool is going to be. Letting go of the mouse button confirms the action, and then you’re free to draw the next point.

Krita filling lineart8.png

You can also erase with a geometric tool. Just press e or the eraser button.

Krita filling lineart9.png
Quicker than using the brush or selections. Also decent with lineart that contains gaps.
Fiddly details aren’t easy to fill in with this. So I recommend skipping those and filling them in later with a brush.

Colorize Mask

So, this is a bit of an odd one. In the original tutorial, you'll see I'm suggesting using G'Mic, but that was a few years ago, and g'mic is a little unstable on windows. Therefore, the Krita developers have been attempting to make an internal tool doing the same.

As of current writing, this is still in development, mostly being too slow, and is disabled in the 3.1 release. This will be removed once it's enabled again.

So it works like this:

  1. Select the colorize mask tool.
  2. Tick the layer you're using.
  3. Paint the colors your want to use on the colorize mask
  4. Click update to see the results:

Krita filling lineart10.png

Then, you can add more strokes to improve the results.

When you are satisfied, right mouse button the colorize mask, and go to Convert → Paint Layer. This will turn the colorize mask to a generic paint layer. Then, you can fix the last issues by aking the lineart semi-transparent and painting the flaws away with a pixel art brush.

Krita filling lineart11.png

Then, when you are done, split the layers via Layers → Split → Split Layer. There's a few options you can choose, but the following should be fine:

Krita filling lineart12.png

Finally, press Ok and you should get the following. Each color patch it on a different layer, named by the palette in the menu and alpha locked, so you can start painting right away!

Krita filling lineart13.png
Works with anti aliased lineart. Really quick to get the base work done. Can auto-close gaps.
No anti aliasing of it’s own. You have to choose between getting details right or the gaps auto-closed.


I hope this has given you a good idea of how to fill in flats using the various techniques, as well as getting a hand of different Krita features. Remember that a good flat filled lineart is better than a badly shaded one, so keep practising to get the best out of these techniques!