Bei JPG geht es nicht, Transparenz mit BMP ist auch nicht standartisiert. Der Standard sagt: 32-Bit-Bitmaps sind Bitmaps, bei denen das 4. Byte ausschließlich der Platzverschwendung dient.
PNG kann Transparenz:
Delphi-Quellcode:
PNG := TPNGImage.Create();
try
PNG.LoadFromFile(bla);
PNG2 := TPNGImage.CreateBlank(PNG.Width, PNG.Height, COLOR_RGB, 8);
try
PNG2.Canvas.Brush.Color := clIrgendwas;
PNG2.Canvas.FillRect(Rect(0,0,PNG.Width,PNG.Height));
PNG2.Canvas.Draw(0,0, PNG);
PNG2.TueDinge();
finally
PNG2.Free();
end;
finally
PNG.Free();
end;