Une bonne approche consiste à utiliser la classe ImageAttributes pour configurer une liste de couleurs à remapper lors du dessin. L'avantage de ceci est une bonne performance ainsi que vous permettant de modifier les couleurs de remappage très facilement. Essayez quelque chose comme ce code ...
ImageAttributes attribs = new ImageAttributes();
List<ColorMap> colorMaps = new List<ColorMap>();
//
// Remap black top be transparent
ColorMap remap = new ColorMap();
remap.OldColor = Color.Black;
remap.NewColor = Color.Transparent;
colorMaps.Add(remap);
//
// ...add additional remapping entries here...
//
attribs.SetRemapTable(colorMaps.ToArray(), ColorAdjustType.Bitmap);
context.Graphics.DrawImage(image, imageRect, 0, 0,
imageRect.Width, imageRect.Height,
GraphicsUnit.Pixel, attribs);
J'ai une question très similaire et je me demandais si vous pouviez me aider: http://stackoverflow.com/questions/1096165/transparent-winform-using-selective- couleurs –