From my research, I found that TImageList stores images in the form of TBitmaps, so alpha information is lost during storage, and you cannot achieve what you are looking for with the current implementation of TImageList.
Update:
A little more experimentation and with the code below, I could make transparency work with the code below.
ImageList1.ColorDepth := cd32Bit; Image2.Transparent := True; Image2.Canvas.Pen.Style := psClear; Image2.Canvas.Rectangle(0, 0, Image2.Width+1, Image2.Height+1); ImageList1.Draw(Image2.Canvas, 0,0,0);
But it didn’t look as pretty as the downloaded png.
source share