function TBitmap.IsAlpha(Bitmap: TBitmap): Boolean;
I, j: Integer;
Bits := PAlphaColorRecArray(StartLine);
for j := 0 to Height - 1 do
for I := 0 to Width - 1 do
if Bits[I + (j * Width)].A <> 255 then
Result := True;
Result := False;
All bitmaps in FMX are 32-bit, and they are loaded and saved using code from the OS, which is all 32-bit.
But, what you really want to know is whether the bitmap uses the alpha channel, and the only way to tell this would be to iterate over every pixel and see if any have an alpha channel which is <> 255.
I would recommmend something like the following (untested):
So, the real answer is that all bitmaps have an alpha channel.
You right, I don't like this solution although I had to use it, it is exactly what I want to avoid. Hence the question.