Как сделать изображение прозрачным фоном в 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);
}

Источник: http://csharphelper.com/blog/2017/01/give-an-image-a-transparent-background-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector