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|
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 your 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…
…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 saysand setting that to
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:
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|
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.
The second method is to use transparency masks.
the layer and go to
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. (or Shift+I). Then drag and drop the transparency mask on any filled pixel layer:
- 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
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
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 thetype for this, or just the 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.
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:
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.
For example with the Bezier Curve Selection Tool you can easily select a curved area, and the with Shift+ (not +Shift, there's a difference!) you can easily add to an existing selection.
You can also edit the selection if you haveturned 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
You can save selections in selection masks by a layer, and then going to. 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:
- A bit more precise than filling.
- Previewing your color isn't as easy.
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 (), 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.
You can also erase with a geometric tool. Just press e or the eraser button.
- 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.
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.
It is disabled in 3.1, but if you use 4.0 or later, it is in the toolbox. Check the Colorize Mask for more information.
So it works like this:
- Select the colorize mask tool.
- Tick the layer you're using.
- Paint the colors your want to use on the colorize mask
- Click update to see the results:
Then, you can add more strokes to improve the results.
When you are satisfied, the colorize mask, and go to. 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.
Then, when you are done, split the layers via. There's a few options you can choose, but the following should be fine:
Finally, pressand 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!
- 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!