Как сделать изображение прозрачным фоном в C#
Метод Bitmap класса MakeTransparent изменяет все пиксели с заданным цветом на прозрачный цвет A = 0, R = 0, G = 0, B = 0 Когда программа запускается, следующий код делает фон прозрачным для двух изображений, хранящихся в ресурсах Smile и Frown программы.
// Изображения. private Bitmap SmileBitmap, FrownBitmap; // Делаем фоны изображений прозрачными. private void Form1_Load(object sender, EventArgs e) { SmileBitmap = Properties.Resources.Smile; SmileBitmap.MakeTransparent(SmileBitmap.GetPixel(0, 0)); FrownBitmap = Properties.Resources.Frown; FrownBitmap.MakeTransparent(FrownBitmap.GetPixel(0, 0)); }
Код сохраняет ресурс Smile в переменной Bitmap. Затем он использует метод Bitmap объекта MakeTransparent, чтобы сделать все его пиксели, которые соответствуют цвету пикселя в верхнем левом углу, прозрачным. Затем код повторяет эти шаги для изображения Frown.
Следующий обработчик событий Paint отображает два изображения.
// Нарисуем два перекрытия изображений. private void Form1_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawImage(FrownBitmap, 30, 30); e.Graphics.DrawImage(SmileBitmap, 95, 85); }