Resize resizes ALL channels that are enabled in an image (that is the image NOT the -channel setting). It has to deal with all channels as all channels must be the same size in the final image.
Alpha channel is handled is a special way simply because it can make colors transparent. transparent colors have no 'color' and as such should not be part of the merged of colors during the resize. As fully-transparent colors are black, not handling alpha in this way will cause the dreaded 'resize halo bug'
See the old resize halo bug report page at..
http://www.imagemagick.org/Usage/bugs/resize_halo/
That is resize handles alpha channel correctly!!!!
As for what is happening in the TGA images. I am not certian. It looks to me like the alpha channel of the TGA image is NOT an alpha channel, but just a masking channel of some sort. That is it probably should be treated as a separate 'mask' image rather than as a an alpha (transparency) channel.
You can separate the alpha form the image, resize and merge the channels again using..
Code: Select all
convert a.tga \( +clone -channel A -separate +channel \) -alpha off \
-resize 500x300 \
-compose CopyOpacity -composite b.tga
That treats the alpha as a completely separate grayscale mask image, rather than as transparency.