imagecopymerge was not meant to support the alpha channel but to emulate it via pct. It was also not meant to use both the alpha or the pct value to blend an image over another.

[2009-07-20 12:10 UTC] steve at redmonkey dot org

Thanks, understood. Although, I do think it would be a useful feature, perhaps there's scope for an 'imagecopymergealpha' type function in the future?

[2009-12-10 18:23 UTC] andre at webkr dot de

So what does the "it implements alpha transparency for true colour images" in "When pct = 0, no action is taken, when 100 this function behaves identically to imagecopy() for pallete images, while it implements alpha transparency for true colour images." mean anyway?

[2009-12-10 18:35 UTC] andre at webkr dot de

Ah, I see. It's imagecopy() which implements alpha transparency while imagecopymerge() does not.

[2010-05-06 06:44 UTC] setvik at gmail dot com

I have the same need to merge alpha images with the opacity of the top one
reduced, and like the others in this thread, I assumed imagecopymerge would
respect the alpha settings in the image. Based on comments here and in the docs
( http://php.net/manual/en/function.imagecopymerge.php), others are making the
same assumption.
@pajoye - The inclusion of alpha support whether in imagecopymerge or an
additional function would be very valuable for working with images, especially
watermarks with complex transparency. Any chance imagecopymerge can be patched
to support this? Or should an additional function be written and the
documentation for imagecopymerge updated?
What's your take?