Guide to Fill Tool in Krita for clean base lineart: selecting area, threshold, Close Gap, Grow Selection, Reference and Drag-Fill.

1:04 ước tính · Chưa có giọng vi-VN
The Fill Tool in Krita is often misunderstood as a “paint bucket” that you simply click on a white area. That use is sufficient for simple shapes, but it will quickly produce white borders, color bleeding through gaps, missed small areas, or inconsistent results between layers. In reality, the Fill Tool is a system for selecting areas based on color and boundaries. Once you understand how Krita determines which pixels are selected, you can fill base colors for lineart faster, make fewer corrections, and keep a clean layer structure for further shading.
This tutorial focuses on a hands-on workflow: preparing lineart, selecting the region mode, adjusting the threshold, handling gaps, expanding the color beneath the lines, and using drag-fill for consecutive areas. The goal is not to find a set of parameters that works for every drawing, but to know which parameter to change when you see a specific error. If you are building a long-term foundation, you can place this article in the workflow training phase of the 90-day Digital Art roadmap.
When you click on a point, Krita does not “pour color into empty space” in the visual sense. The software starts from the pixel under the cursor, reads the color and opacity of neighboring pixels, and then decides which area is similar enough or continuous enough to be included in the result. The lineart only acts as a boundary if its pixels are sufficiently different from the background according to the criteria selected.
Therefore, the same drawing can yield different results when you change the reference layer, threshold, feathering, grow selection, or region filling mode. A light gray line on a white background may not block the color if the threshold is too wide. An area with anti-aliasing can leave a halo if the color stops before the semi-transparent pixels. Conversely, expanding the area too much can cause the color to bleed over thin lines.
You can select the Fill Tool from the toolbar and open the Tool Options to see the full set of options. Before adjusting parameters, determine three things: which layer contains the lineart, which layer will receive the color, and which layer Krita will read boundaries from. These three questions solve most of the seemingly random fill errors.
A minimal structure should have the lineart layer on top and the base color layer below. Do not paint directly on the line layer if you still want to change colors, create clipping groups, or adjust line weight later. For multi-character illustrations, group lineart by object or at least assign color labels to layers needed as reference. This organization helps the Fill Tool read the boundaries correctly without interference from background, texture, or notes.
Lineart does not need to be completely sealed, but it must be intentional. Gaps in hair, collars, fabric folds, and intersection points are common causes of color bleeding. Before filling, zoom in moderately and check where lines end. If gaps are part of your style, you don't necessarily have to patch them; use Close Gap or Selection Boundary. If gaps are errors, fixing the lineart first will be more robust than adjusting extreme parameters.
The opacity of strokes is also important. Brush strokes with texture, gray strokes, or strokes using opacity pressure create many intermediate pixels. These pixels soften boundaries and easily cause light halos. With clean lineart, the three stroke levels in the article Line Weight for Character Lineart help you control silhouette, overlap, and details while keeping the fill area easy to read.
Fill Mode determines the initial scope that Krita examines. This is a step you should select before touching the threshold. If you choose the wrong mode, you may adjust many parameters but the result will still be unstable.
This mode fills the entire current selection. It is suitable when you have already created a selection using another tool, for example, selecting a character's silhouette and wanting to apply a uniform base color. The advantage is that the result is predictable; the disadvantage is that the Fill Tool no longer decides the boundary based on the click point. If the selection has feathering, the edge color will also be soft accordingly.
--- ---This is the most common mode for lineart. Krita starts at the click point and only expands through adjacent pixels that meet the color condition. A closed line divides the canvas into separate "rooms." When filling hair, clothing, or skin, you usually want Contiguous Region because it won't jump to an area with a similar color located elsewhere.
This mode selects every region with a color similar to the original pixel, even if they are not connected. It is useful when a design has many details of the same color, for example, shirt buttons, repeating patterns, or multiple white background areas that need to be changed at once. However, it can easily select the wrong area if the lineart contains many close gray tones. Use a narrower threshold and check the results on small details.
Krita offers different interpretations of the area to be filled. Consider this as an algorithm choice, not a strength–weakness level. Switching to the right policy is often more effective than increasing the threshold too high.
Current Selection uses an existing selection. Contiguous Pixels travels through adjacent pixels from the click point. Regions of Similar Color finds similar pixels over a wider range. For an image with many intersecting lines, Contiguous Pixels is usually a safe starting point. For repeating patterns that are separated from the rest, Regions of Similar Color saves many clicks.
--- ---The threshold determines the level of color difference that Krita still accepts. A low threshold keeps the area tight but easily leaves white halos around anti-aliasing. A high threshold eats deeper into pixels close to the background color, but can overshoot gray edges. Increase it in small steps and observe at the edge, not just by looking at large areas. If the result still has a border despite a reasonable threshold, the error most likely lies in grow selection or opacity spread.
Opacity Spread is especially important for semi-transparent boundaries. This parameter controls how opacity is extrapolated from the source area. With soft brush strokes, increasing spread can help the color reach the edge better. But if the stroke has sparse texture, too much spread will create uneven color patches. A practical rule is to set the threshold first, then fine-tune the spread; do not change both at the same time because you will find it hard to tell which change produced the result.
Close Gap allows the Fill Tool to treat certain small gaps as if they were closed. This is a very useful option for hair, fur, clothing folds, and lineart with tapered strokes. Instead of drawing an unwanted connecting line, you preserve the stroke language and let the algorithm build a temporary boundary during the fill.
Start with a low level. If the color still bleeds, increase gradually until the gap is considered closed. Do not set Close Gap high for the entire drawing just because of one tricky spot; it may incorrectly connect two nearby boundaries, especially around eyes, fingers, or small accessories. When only one area is problematic, a better approach is to zoom in, use a selection to restrict it, or create a separate "color boundary" layer.
Close Gap does not fix lineart. It only changes how the fill area is calculated. If you export the lineart file or use it for another stage, the gap still exists. Therefore, distinguish aesthetic gaps from operational gaps. Aesthetic gaps can remain; defective gaps should be fixed so that later steps like Colorize Mask, selection, or background changes don't encounter the same issue.
When the lineart is very open or you only want to color a portion of a large area, selection is a more reliable boundary than increasing Close Gap. You can encircle a character, a section of hair, or a group of accessories, then let the Fill Tool work inside. This method is especially effective when the background and the character share many diagonal lines, making it difficult for the algorithm to determine the true edges.
The process is simple, consisting of three steps: create a selection that surrounds the area, select the Fill Tool, then click inside the region to be filled. The selection does not need to precisely follow every pixel of the lineart if it only serves as an outer limit. Place the selection boundary through areas that definitely do not need color. After filling, remove the selection and check the edges at 100% zoom.
If the selection has feathering, the color will fade at the edges. This is suitable for atmospheric effects but not for sharp base colors. Set feathering to 0 when filling lineart. If you need a gap under the stroke, use the Fill Tool's grow selection instead of softening the selection.
Anti-aliasing creates a band of semi-transparent pixels around strokes. If the color stops only at the fully white area, a halo will appear between the color and the lineart. Grow Selection expands the fill area by a few pixels so that the color lies underneath the stroke, thereby making the halo disappear when viewed at actual size.
The appropriate grow value depends on the resolution and stroke thickness. On a large canvas, a few pixels may still be too little; on a small icon, the same value could eat through the stroke. Check at 100% zoom, because zooming in too much makes a one-pixel halo look more severe than it actually is. Start small and increase until the bright border just disappears.
---Stop Growing adjusts the expansion based on the darkness of the boundary line. When enabled, the fill area can adaptively stop at darker strokes instead of mechanically expanding by the same margin everywhere. This is useful for lineart with varying thickness. However, if the strokes are too faint or their color is too close to the background, the algorithm does not have a clear enough signal. In that case, make the reference strokes bolder or separate a lineart layer specifically for filling.
The two icons in Tool Options represent two ways of area propagation. They do not change the color you choose; they change how Krita navigates through pixels and identifies boundaries. Distinguishing between the two algorithms helps handle areas with different structures without forcing a single threshold.
Flood Fill spreads outward from the clicked point through pixels that meet the condition. It is intuitive and suits closed areas, flat backgrounds, and relatively clear lineart. When the area has many small branches, Flood Fill follows continuous connections; a small gap can cause the color to spread very far. Combine it with Close Gap or a selection if the structure has many exits.
Boundary Fill prioritizes identifying blocking edges. It is useful when the boundary is more consistently defined than the color inside the area. With bold lineart on a light background, Boundary Fill can give stable results in complex regions. If the strokes have too many colors or the opacity varies sharply, you need to adjust the boundary criteria or switch back to Flood Fill.
A quick test is to create a small copy of the problematic area and try both algorithms with the same threshold. Compare in three places: anti-aliased edges, small gaps, and narrow details. Choose the algorithm that produces fewer systematic errors; do not simply pick the result that looks correct for a single click.
---In Tool Options, the Reference section determines where Krita takes boundary data from. Current Layer only reads the active layer. This mode is easy to understand but not suitable if you are coloring on an empty layer under the lineart, since the color layer has no boundaries yet. All Layers reads all visible layers, convenient for small files but can be affected by texture, sketch, or background.
Color Labeled Layers is a powerful choice for complex files. You assign the same color label to the lineart layers that need to be referenced, then tell the Fill Tool to only read that label group. As a result, base colors are not interfered with by shadows, effects, or notes. This is a good habit to build from the start if you often work on characters with many accessories.
If color doesn't stop even though the lineart looks closed, check the Reference before adjusting the threshold. Many cases are simply because the Fill Tool is reading an empty color layer. If color is being blocked by unwanted details, switching from All Layers to Color Labeled Layers usually solves it immediately.
Drag-Fill allows you to hold and drag the cursor across multiple areas instead of clicking each one. This is a time-saving tool when filling hair with many strands, clothing patterns, accessories, or small background gaps. You can choose to fill every area you pass through or only those with a color similar to the first area.
For stable use, first fill one sample area and confirm that the threshold, grow, and reference are correct. Then drag across the remaining areas. If you don't check first, a small error can be repeated dozens of times. With “Fill Regions of Similar Colors,” the first click acts as a sample; start on the most representative area, not at an anti-aliased edge.
Drag in short, deliberate paths. A single drag through the eyes, mouth, and hair could accidentally fill many hard-to-spot areas. Divide by material or color groups: skin first, hair next, clothing last. After each group, temporarily hide the lineart to see if the base color has holes or bleeds.
--- ---Once the base is clean, you can move on to clipping groups, alpha inheritance, or layer modes for shading. The overall coloring workflow in the guide from line art to completion helps connect the base color step with lighting and depth. If you need to apply repeating textures to clothing or background, the article Krita Pattern Fill is a logical next step.
Check the reference layer, lineart gaps, and Fill Mode. If you are filling on an empty layer with Reference set to Current Layer, Krita will not see any boundaries. Switch to All Layers or Color Labeled Layers. If the reference is correct, enable Close Gap at a low level or use a selection to block off areas.
Increase Grow Selection gradually, then check the Opacity Spread. Do not raise the threshold too high at once, as it may erase the boundaries of gray lines. View the image at 100% and try hiding the lineart to evaluate the actual base area.
--- ---The threshold may be too narrow, the area too small for the current settings, or the grow is causing the two edges to meet. Zoom in on the detail, reduce the grow, and click on the center pixel. For many similar details, try Regions of Similar Color after limiting with a selection.
Reduce the threshold, grow, or Close Gap. If the thin line is still semi-transparent, create a thicker reference lineart in a group hidden from the final export. Stop Growing can help the expanding area stop at dark pixels instead of crossing the line.
The click point is landing on pixels with different colors or opacity. Select a clean sample area, avoiding anti-aliased edges. Check whether the background, texture, or effect layer is being included in the Reference. For large files, use Color Labeled Layers to reduce variables.
Choose a lineart with three types of scenarios: large enclosed areas, small gaps, and narrow details. Create three copies of the color layer. In the first copy, keep the threshold low and the grow small. In the second copy, increase the threshold. In the third copy, keep the threshold moderate but enable Close Gap and Stop Growing. Color the same three spots, then compare halos, bleeding, and cleanliness under the lines.
---Record effective settings for resolution and that lineart brush type. A preset shouldn't just be numbers; also note the usage conditions, such as "black ink stroke 8–20 px on a 3000 px canvas" or "gray stroke with opacity pressure." When changing canvas or brush, treat the preset as a starting point, not a fixed rule.
Finally, toggle the lineart on and off. When on, the artwork should have no glowing edges. When off, the base color areas should remain contiguous, with no random gaps and no excessive bleeding beyond the silhouette. If both conditions are met, your Fill Tool settings are suitable for the current file.
The Fill Tool is most powerful when you view it as a system that reads areas, not a one-time paint-pouring operation. Fill Mode selects the scope; Reference selects the data; threshold and opacity spread determine the similarity level; Close Gap handles cracks; Grow Selection pushes color under the lines; Flood Fill, Boundary Fill, and Drag-Fill decide how the area spreads. Each parameter has its own task.
Diagnose by symptom and change only one variable at a time. This approach takes a few extra minutes at first, but it is far faster than fixing hundreds of white edges or overflow areas after shading is already applied. A clean base layer also makes every subsequent step—clipping, masking, texture, and color grading—easier to control.








Đăng ký miễn phí, lấy link riêng và giới thiệu NextGZ cho người cần học tiếng Trung hoặc Digital Art.
Cộng đồng thực chiến
Tham gia nhóm để nhận tài nguyên, cập nhật công cụ và trao đổi cách xây dựng digital business cùng AI.
Tham gia nhóm ZaloCộng đồng sáng tạo
Kết nối với cộng đồng Digital Art, chia sẻ tác phẩm và học hỏi quy trình sáng tạo mới.
Tham gia DiscordCộng đồng thực chiến
Tham gia nhóm để nhận tài nguyên, cập nhật công cụ và trao đổi cách xây dựng digital business cùng AI.
Tham gia nhóm ZaloCộng đồng sáng tạo
Kết nối với cộng đồng Digital Art, chia sẻ tác phẩm và học hỏi quy trình sáng tạo mới.
Tham gia Discord
Bình luận
0 bình luận
Đăng nhập để tham gia thảo luận cùng cộng đồng!
Đăng nhập ngayĐang tải bình luận...