j'ai copié une réponse à partir du lien Mitch à condition que je pense va travailler pour moi:
public static Bitmap SetOpacity(this Bitmap bitmap, int alpha)
{
var output = new Bitmap(bitmap.Width, bitmap.Height);
foreach (var i in Enumerable.Range(0, output.Palette.Entries.Length))
{
var color = output.Palette.Entries[i];
output.Palette.Entries[i] =
Color.FromArgb(alpha, color.R, color.G, color.B);
}
BitmapData src = bitmap.LockBits(
new Rectangle(0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.ReadOnly,
bitmap.PixelFormat);
BitmapData dst = output.LockBits(
new Rectangle(0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.WriteOnly,
output.PixelFormat);
bitmap.UnlockBits(src);
output.UnlockBits(dst);
return output;
}
http://stackoverflow.com/questions/189392/how-do-you-draw-transparent-image-using-system-drawing –
@Mitch blé - cette question est spécifique aux GIF – Oded
Les GIF n'ont pas de semi-transparence. Je parle de PNG ici –