Why does my color by number app fill the wrong region?
Your fingertip covers about sixty regions. What the app does with that ambiguity is a design decision, and most of them make it badly.
You aim at a petal, you tap, and the region next to it fills instead. Or nothing happens and you cannot tell why. This is the single most common frustration in colouring apps, and it is not your aim.
The arithmetic of a fingertip
The contact patch of a fingertip on glass is somewhere around eight to ten millimetres across. On a phone screen that is roughly forty to fifty pixels of physical display. When a detailed picture is fitted to that screen, one of those screen pixels can cover several pixels of the artwork, so a single tap is sitting on top of a patch of image tens of pixels wide.
A small region in an intricate mandala is a few image pixels across. So your finger is not covering one region. It is covering dozens, and the app has to decide which one you meant from a blob of ambiguity.
Worse, you cannot see the target at the moment of contact — your finger is on top of it. You are aiming at a remembered position and then obscuring it.
The naive implementation, and why it fails
The straightforward thing to do is take the exact centre point of the touch, convert it to a coordinate in the artwork, read the region id at that one pixel, and fill it. Every app starts here because it is one line of code and it is obviously correct.
It fails in three specific ways.
- The centre point lands on an outline pixel, which belongs to no region, so the tap does nothing and you get no feedback about why.
- The centre point lands one pixel inside the neighbouring region, and that region fills instead — the classic wrong fill.
- The centre point lands inside a region you have already filled, so the tap is consumed doing nothing visible, which reads as the app ignoring you.
All three come from the same mistake: treating a fat, imprecise, self-obscuring input as though it were a mouse cursor.
Fix one: read a neighbourhood, not a point
Instead of sampling one pixel, sample a small disc around the touch and count what is in it. Take every region id inside that circle, build a histogram, and choose the id that appears most often.
One more condition does most of the work: prefer the most common id that is still unfilled. Regions you have already coloured are not plausible targets — you were not aiming at them — so excluding them from the vote resolves most of the ambiguity by itself. If nothing unfilled is in range at all, fall back to whatever is exactly under the centre point.
The radius has to scale. Numbrush uses roughly fourteen image pixels when the picture is fitted to the screen, and shrinks it as you zoom in. That is the property that matters: zoomed out, the correction is generous because you cannot possibly be precise; zoomed in, it tightens, because now you can be, and an over-generous radius would start overriding you.
Fix two: let the user see under their own finger
Correction can only guess. The real fix for the smallest regions is to stop obscuring the target: press and hold, and a magnifier lifts off the canvas showing the area under your thumb at 2.4×, with a crosshair marking exactly what will be filled. You slide until the crosshair is on the region you want and lift.
This turns an aim-and-hope interaction into a look-and-confirm one. It is also why an app with a loupe does not need you to pinch-zoom in and back out for every small piece — which, on a picture with several hundred regions, is the difference between finishing it and giving up.
Fix three: make a wrong tap free
The two fixes above reduce mistakes. The third removes the consequence of one, and it matters more than either.
Many colouring apps, when you tap a region belonging to a colour other than the one selected, fill it in the wrong colour anyway, or deduct a hint, or break a streak. That is a game-design instinct — friction creates stakes — applied to an activity whose entire purpose is to have no stakes.
Numbrush ignores such a tap completely. Nothing fills, nothing is deducted, no warning appears. This is why the app has no undo button and no eraser: there is never anything to undo, because the wrong action was never performed. Precision stops mattering, which is the point of the whole exercise.
What you can do on your side
- Zoom in. It is the most direct fix available to you: it makes regions larger under your finger and simultaneously makes the app’s tap correction more precise.
- Press and hold instead of tapping when a region is small. Do not tap and hope.
- Use the colour highlight to find regions rather than reading numbers. Selecting a colour marks every unfilled region of it across the whole picture, which is far easier to aim at than a digit.
- Use the Next control for the last few regions of a colour, instead of scanning the canvas for them yourself.
- Turn the phone sideways or move to a tablet for the densest artwork. More screen means more image pixels per finger width, which is the underlying constraint.
When nothing happens at all
A tap that does nothing usually means one of three things: the region under your finger belongs to a different colour than the one selected, and the app is correctly refusing to fill it wrong; the region is already filled; or you landed on an outline, which belongs to no region. The first is the common case, and the fix is to look at what the highlight is showing you — with a colour selected, every region you can legitimately fill right now is marked.
Frequently asked questions
Why does my app fill the region next to the one I aimed at?
Because it read your tap as a single exact pixel, and that pixel landed just over a boundary. A fingertip covers far more of the artwork than one region, so any app that does not correct for the neighbourhood around the touch will do this regularly.
Why does nothing happen when I tap?
Usually the region belongs to a colour other than the one you have selected, so a well-behaved app refuses to fill it. It can also be a region you have already filled, or an outline pixel, which belongs to no region at all.
Does zooming in actually help?
Yes, twice over. It makes each region physically larger under your finger, and it also tightens the app’s tap-correction radius, so the correction stops overriding you once you are able to be precise yourself.
Is there an undo if I fill something wrong?
In Numbrush there is nothing to undo: tapping a region that does not belong to the selected colour does nothing at all. That is also why there is no eraser. In apps that do fill the wrong colour, look for an undo before you start a large picture.
Try it on a real canvas
Numbrush is colour by number for adults: mandalas, rose windows and geometric pattern work, twelve colours a picture, a magnifier for the tight spots, and a wrong tap that costs you nothing. Free, offline, no ads and no account.