Definitions from the doc:
- Flatten image: If there are any areas which are transparent through all of the layers of the original image, the background color is visible.. So this would be the same as adding a background layer and merging down.
- Remove alpha channel: If the active layer is not the background layer, transparency is replaced with the background color of the Toolbox. Which is the description I would have used for bucket-filling in
So, there are several operations that ought to all produce the same result:
- Bucket fill white in 'Behind' mode
- Merge down over white background
- Pointer tool with "Sample merged" over white background
- Flatten image with white background:
- Flatten image without white background:
- Remove alpha channel
Experimentation with 78:69:128:254:
* Bucket fill white in 'Behind' mode: 78:69:128
* Merge down over white BG: 78:69:128
* Pointer tool with "Sample merged" over white BG: 78:69:128
* Flatten image with white BG: 79:70:129
* Flatten image without white BG: 79:70:129
* Remove alpha channel: 79:70:128
The first three are consistent, #4 is surprising because it doesn't produce the same result as #2.
Using a less extreme opacity value, experimenting with 78:69:128:200:
* Bucket fill white in 'Behind' mode: 116:109:155
* Merge down over white BG: 116:109:155
* Pointer tool with "Sample merged" over white BG: 116:109:155
* Flatten image with white BG: 116:109:155
* Flatten image without white BG: 116:109:155
* Remove alpha channel: 116:109:155
Here all give the same result.
So, there are likely slightly different methods (flattening the image could take some shortcuts) differently impacted by round off errors (yes, I know this is not an answer, but it shows some methods that always give the same result).