1

I have an image already at 100% opacity but the whole image is partially transparent (with a transparent background).

Is there some way to uniformly increase the opacity (effectively going beyond the current 100%) ?

1

Easily done by "stretching" the alpha channel so that the maximum value becomes 100%. The "Levels" tool (Colors>Levels) conveniently shows the histogram:

enter image description here

  • A faster way would be to apply the levels directly to the alpha channel. That's what the Channel selector in the upper left is there for. – Michael Schumacher Jul 27 at 4:09
  • @MichaelSchumacher Fixed. Thx. – xenoid Jul 27 at 7:25
  • @xenoid Seems like a very good solution but I'm not sure how to open this interface. Could you add some information that illustrates how to get here? (GIMP beginner) – Enigma Jul 28 at 4:05
  • 1
    @Enigma This is the "Levels" tool (Colors>Levels). – xenoid Jul 28 at 9:00
1

Now and then converting an image to PNG really makes it partially transparent - maybe an error somewhere or a software bug (not in GIMP, I use some old software). But typically one has a fully opaque layer, the transparency is in the colors - in the alpha channel of the image layer.

One way to fix it is to edit the alpha channel. Unfortunately easy methods also destroy the anti-aliasing i.e. the partial transparency of the edges to make sharp curved and sloped edges less jaggy. There's another answer about it. The introduced jagginess is at least partially fixed with feathering the edges.

Another way is to make layer duplicates and merge them. Each new copy reduces the transparency. An example of image with unwanted transparency:

enter image description here

Stacking layer duplicates brings the opacity back:

enter image description here

But the antialiasing is still there after inserting a few duplicates (see only the edges on the checkerboard)

enter image description here

  • Your first image looks like the typical result when someone applied Color to Alpha to an image with those circles on a white background. Which is how Color to Alpha is supposed to work, just not what people expect from it. If you manage to get to this state simply by exporting an opaque image to PNG, I'd like to have more details about how this happens. – Michael Schumacher Jul 27 at 4:05
  • 1
    @user287001 You can avoid partial opacity like this: 1) fuzzy-select the background, 2) Select>Grow by one or two pixels so that the edges pixels are covered, 3) Apply C2A; the "core pixels", being outside the selection, won't be changed, and C2A will be apply to the background and the edge pixels, where it matters. – xenoid Jul 27 at 7:30
  • @xenoid thanks for the notice. But my blue magenta image is an example created for this answer like user Michael Schumacher guessed. I have got partially transparent PNGs from an old background removal application Aerocut, that I still use due its ultra flexible path drawing. One can zoom, pan, undo, change from pen to magnetic lasso to polygonal lasso and adjust parameters in the fly. (=during making the same curve) It sometimes generates partial transparency when the work is a complex boolean of several subpaths. There's no options to select partial transparency, it must be a bug. – user287001 Jul 27 at 8:20
  • @MichaelSchumacher Thanks for the notice. I gave an explanation. Please read the preceding comment. Sorry for lousy information, I fixed the answer. – user287001 Jul 27 at 8:25
0

Discovered one method which seemed to do the trick...

  1. Layer > Transparency > Threshold Alpha... (tweak appropriately)
  2. Re-feather edges as needed to soften

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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