I've been searching for the answer to this but I'm stumped. Maybe it's
so obvious that there's no need for it to be covered in the docs, or
perhaps I just don't know the correct terminology to search for.
If I have a png (like a button or logo) with anti-aliasing around the
edge and an alpha channel and I need to convert it to a gif, I can use
the semi-flatten option under Layer->Transparency.
This will remove any semi-transparency while conserving anti-aliasing
and the full-transparency of the image.
To use this filter you have to know what color background will be
behind the image when it is placed on the page.
With the semi-flatten tool you can only provide a solid color that the
image will be placed over.
Normally this works fine, but I have a situation where the background
behind the gif fades from light to dark and consequently
semi-flattening against a solid color is not sufficient.
So what I want to do is semi-flatten against my known background image
(a gradient, rather than a solid color) whilst preserving the
fully-transparent parts of the gif.
I am very inexperienced with image software but I'm sure there must be
a better way than I am doing right now, which is:
1) png with alpha channel in top layer
2) known background image in bottom layer
3) select non-fully-transparent part of image with Select By Color
Tool (select alpha pixel then invert selection)
4) Flatten image
5) Copy selection
6) Paste As New
(Alpha to selection doesn't do the trick for step 3 because it
discounts some semi-transparent pixels as well as transparent ones.)
It doesn't feel quite right - could someone with some more experience
point out any unnecessary steps I'm taking or point out a better way
altogether to do it please, if there is one?
Gimp-user mailing list