How to Fill Open or Porous Line Art Without Hand-Painting Every Interior
To color a character with broken or textured outlines, use a gap-aware fill tool or a colorize mask to generate the flat colors. Keep the visible drawing separate from the color layer, then correct the few boundaries the software misreads. Krita’s Colorize Mask and GIMP’s line-art detection provide two practical approaches. Krita Colorize Mask manual, GIMP Bucket Fill manual
This workflow is for preparing flat colors in an external drawing application: the solid body, patches, and accessories of a virtual pet or character. Start with one representative region, establish settings that preserve its details, and apply that method to the rest of the drawing.
Why does a normal bucket fill escape the outline?
An ordinary fill follows connected pixels according to color or transparency differences. An opening can connect the intended interior to the surrounding background. A separate problem occurs at softened edges, where partially transparent or intermediate-colored pixels can leave a thin unfilled rim. GIMP’s developer documentation explains that line-art filling addresses these problems by detecting strokes, proposing closures, and extending color beneath the lines. GIMP’s Line Art Bucket Fill explanation
Treat “open” and “porous” as different diagnostic clues. An open contour has a recognizable break between stroke ends. A porous contour has scattered interruptions within a textured stroke. Inspect both before changing settings: a single large opening calls for a different correction from dozens of tiny interruptions.
Which filling method should you try first?
Use this decision aid to choose an initial approach. It combines the documented tool behavior with a practical testing sequence; it is not a measured comparison of speed or accuracy.
| What the drawing looks like | Start with | What to inspect first |
|---|---|---|
| Mostly continuous outlines with occasional breaks | GIMP’s line-art bucket fill | Whether nearby regions remain separate |
| Many regions that need different flat colors | Krita’s Colorize Mask | Whether each intended region has a color hint |
| Rough, grainy contours that produce unexpected subdivisions | Manual closure on the color layer | Whether automatic closure is creating extra regions |
| Correctly bounded fills with pale rims | Fill growth beneath the outline | Whether growth extends beyond thin strokes |
These choices have limits. GIMP’s implementation notes say textured strokes can produce excessive candidate endpoints and unwanted closed zones. Krita’s flat-coloring tutorial likewise describes a tradeoff between retaining details and automatically closing gaps. Use a local correction when broader settings start damaging small features. GIMP algorithm documentation, Krita Flat Coloring tutorial
How should you prepare the layers?
Keep the original drawing, then place a separate color layer beneath it. Check that a test brush stroke on the lower layer is visible. Opaque white behind the lines can conceal everything underneath; Krita’s tutorial describes using Multiply for black-on-white line art, while noting that Multiply can change the appearance of colored lines. Transparent line art provides another preparation route. Krita’s layer and line-art preparation guide
For the first test, hide decorative backgrounds and unrelated artwork. Choose a region containing both a typical outline and one troublesome gap. This makes it easier to identify which adjustment helped. Keep the test color distinct from the canvas background so leaks and missed pixels are visible.
How do you fill open outlines in GIMP?
The following controls are documented in the GIMP 3.0 manual. With transparent line art immediately above your empty color layer, use this sequence. GIMP Bucket Fill options
- Select the color layer and open Tools → Paint Tools → Bucket Fill.
- Choose FG Color Fill and set your foreground color.
- Under Affected Area, select Fill by line art detection.
- Set Source to Layer above the selected one.
- For transparent line art, use Detect opacity rather than grayscale; for an opaque drawing, use grayscale detection.
- Enable Automatic closure and adjust Maximum gap length, which is measured in pixels.
- Fill the test region and inspect its narrowest details before continuing.
Start with a restrained gap length and increase it only as needed. If adjacent regions become incorrectly separated or connected, undo and reduce it. Use the Line art detection threshold to adjust which pixels count as contours; use Maximum growing size for extension beneath those contours. These controls affect different stages, so change one at a time. GIMP’s detection, closure, and border controls
How do you color many interiors with Krita’s Colorize Mask?
A Colorize Mask lets you assign colors with short guiding strokes and calculate the larger filled areas. Follow this sequence on your character’s line-art layer. Krita Colorize Mask usage
- Select the line-art layer, right-click it, and choose Add → Colorize Mask.
- With the Colorize Mask Editing tool, draw a short stroke of the intended color inside each region you want to distinguish.
- Add a separate color stroke in the exterior area. Select that color in the tool’s palette and mark it Transparent.
- Press Update to calculate the fills.
- Where color crosses a boundary, revise the nearby hints or cautiously increase Gap close hint, then update again.
- Turn off Edit key strokes to inspect the output clearly.
Keep an editable .kra copy before converting the mask to a paint layer. The manual states that conversion removes the mask workflow, while saving it in Krita’s native format preserves further adjustment. It also warns that excessive gap-closing values can introduce errors. Krita mask options and saving behavior
What if the texture defeats automatic closure?
GIMP offers a useful fallback: close only the troublesome opening with the intended fill color on the color layer. With the line art directly above it, choose that upper layer as the source, disable Automatic closure, and enable Manual closure in fill layer. Draw a short bridge across the opening, then fill. The developer documentation describes this method for preserving intentionally unfinished outlines. GIMP’s manual-closure workflow
Position the bridge where the colored silhouette should end. For example, if a rounded character body has an interrupted outer contour, use the body color to connect the two sides along the intended curve. This is an illustrative editing choice: the artist supplies the missing boundary, while the bucket fills the remaining interior.
If several automatic settings fail on the same opening, switch to this local method. Repeatedly increasing a global value makes it harder to preserve neighboring details. A handful of boundary bridges can be more manageable than repainting an entire region.
How do you remove pale rims without overflowing thin lines?
Once the fill stays inside the correct region, inspect its contact with the outline. In Krita, Grow Selection expands the filled region; Stop Growing at the Darkest and/or More Opaque Pixels helps limit expansion where line thickness varies. The manual documents these controls specifically for gaps near softened line borders. Krita Fill Tool adjustments
As an illustrative starting test, try one pixel of growth, inspect the result, and increase only if necessary. There is no universal pixel value: compare the expanded color with the thinnest stroke in the actual document. Check corners and narrow spaces before applying the setting more widely.
If your Krita installation includes it, the Fill Tool’s Close Gap option provides another way to control propagation through openings. The manual marks this feature as added in version 5.3. Its Reference setting also determines whether filling reads the current layer, all visible layers, or color-labeled layers. When filling beneath the drawing, ensure the chosen reference includes the outlines. Krita Fill Tool reference
How can you tell the flat colors are finished?
Temporarily hide the line art and inspect the color shapes. Look for isolated holes, unintended connections, and edges that extend beyond the intended silhouette. Restore the lines, then view the character at its intended display size. Check that small patches remain distinct and that intentional openings still look deliberate.
Finish by correcting the remaining boundaries locally and retaining an editable layered file. The repeatable workflow is to establish the regions, calculate their interiors, and inspect the edges. That gives you a practical route from open or porous character line art to usable flat colors without brushing across every interior.
