0

Imagine saving a .png image of a solid-colored circle that is on top of a transparent background. However, the circle is filled with that solid color in such a way that towards its outer contours (circumference), there is a feathering effect that blends into the transparent background, therefore, a dispersion of the solid color into different gradients of it.

How to properly fill this circle to its outer most extremity with the solid color and the solid color alone, covering up the gradient feathering? The fill bucket tool isn't cutting it for complex-edged shapes like a circle since pixelation occurs. Gimp or Photoshop answers would do.

4
  • The way you describe it it sounds like you could just scrap the image and draw a new circle yourself. Or is there something on top of the circle? Perhaps you need to show the image or a similar one?
    – Wolff
    Jan 18, 2022 at 8:03
  • What you are describing sounds like anti-aliasing. If you fill the edge pixels that are semi-transparent with solid colour, you will end up with a jagged/pixelated edge and remove the anti-aliasing. Are you sure that what you want? Can you perhaps share an image?
    – Billy Kerr
    Jan 18, 2022 at 8:23
  • 1
    Note: Paint bucket tool is one if those things that seem very attractive to beginners. Yet if you see a professional work you will really rarely if ever see tham using the paint bucket tool. Its one of those tools that are far less useful than they seem to be. In all of these cases there is a better more controlled way to achieve the same thing that is prefered. Another classic one is brightness adjustment where those in the know use it for mist removal etc, but use levels for making images brighter.
    – joojaa
    Jan 18, 2022 at 15:45
  • Where's a question discussing mist removal?
    – user610620
    Jan 18, 2022 at 16:05

4 Answers 4

1

So, you have an image like this:

enter image description here

It has single solid fill color, but the edge is blurry. And you know that the blurriness of the edge doesn't hide any crap, color hue/saturation non-uniformity nor any irregularity, the only unwanted thing is the blurriness?

If yes, then apply the color adjustment curve tool. Make the alpha (=opacity) curve steep:

enter image description here

If you make it vertical the anti-aliasing is also removed:

enter image description here

My example had wide blurry edge zone. The placement of the steep portion of the curve affects substantially the size of the resulted solid shape.

1

Pixellation will always occur; you're working on a raster image.

The cheap & cheerful way to get the bucket to fill more is to just keep clicking, or switch off anti-alias. Multiple clicks with aliasing on will gradually expand the edge beyond its original borders, off will always stop short. Changing Tolerance will affect how much of the aliased edge is affected. Whatever's left after that use the background eraser. The result will always be pixellated.

Extreme zoom on a circle edge.

enter image description here enter image description here enter image description here

2
  • The keep clicking approach used to work 10 years ago, but in Gimp surprised it doesn't work anymore
    – user610620
    Jan 18, 2022 at 16:06
  • 1
    Just tested in Gimp - I see similar but not identical behaviour. Tested threshold 150. The re-coloured area definitely expands a little each click.
    – Tetsujin
    Jan 18, 2022 at 16:41
0

Repeatedly duplicate the layer until the anti-aliasing transparency is gone.

Then merge the layers.

You can speed things up by duplicate, merge, duplicate, merge, duplicate merge, etc.

0

If you want to remove the "gradient feathering" (actually the "anti-aliasing"), you just threshold the alpha layer that controls the opacity of the pixels, which is done with a layer mask:

  • Layer > Mask > Add layer mask and initialize to Transfer layer's alpha channel (mind the "Transfer" part)
  • Start the threshold tool (it will apply to the mask)
  • When happy with the results: Layer > Mask > Apply layer mask

Usually, it is better to keep the anti-aliasing, because removing it creates pixellated edges. The good way to repaint and keep the smooth edges is to use the alpha-lock:

enter image description here

When it is active, the opacity of the pixels is not changed by paint operations, so you can just bucket fill the whole layer (Fill whole selection, not Fill similar colors), and the abtilaising pixels will be painted with the new color but keep their partial opacity.

For more info see here.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.