Very cool program, that; thanks for sharing.
The control TImage does not support RGBA, BGRA, formats that include alpha, as the BGRABitmap library uses. But it supports transparency key: using a color to represent transparent parts of the image, that will not be drawn. I have attached an example, that contains an internal combustion engine, internally.
The top portion of the image, above the green part, is transparent.
In the same example code, after replacing dest with the rotated image, this is done:
dest.ReplaceTransparent(clRed);
image1.Picture.Clear();
image1.Picture.Bitmap.SetSize(tmp.Width, tmp.Height);
image1.Picture.Bitmap.TransparentColor := clRed;
image1.Transparent := True;
dest.Draw(Image1.Picture.Bitmap.Canvas, 0,0);
This replaces transparent pixels in the image with red, then sets red as the transparency key in TImage's picture. To support transparency directly, drawn in some other way the image must be. To do it using TImage, that works.