TrayIcon implementation lacks for ability to use scaled transparency.
Currently it uses only 1 bit to convey transprency of a pixel.
Thus it can't convert GIF/JPEG/PNG image that uses alpha channel
into an icon without imformation loss.
In order to fully support alpha channel we should use
BITMAPV4HEADER/BITMAPV5HEADER Windows native structure instead of
BITMAPINFOHEADER. The latter was used by Windows of old versions.
Originally, the issue has been risen in the JDIC project:
https://jdic.dev.java.net/issues/show_bug.cgi?id=350
The fix it provides is put into the Suggested Fix area.