Ненавижу говорить, но 32-битный BMP с альфа-каналом даже не поддерживается последней версией IrfanView. Кроме того, при загрузке такого BMP с использованием Bitmap.FromFile (), он «ухудшается» до Format32bppRgb с помощью GDI +. Таким образом, единственным решением является использование PNG.

using (var bmp = new Bitmap(image.Width, image.Height, PixelFormat.Format32bppArgb))
using (var g = Graphics.FromImage(bmp))
{
    g.Clear(Color.Transparent);
    g.DrawImage(image, 0, 0);
    bmp.Save("image.bmp", ImageFormat.Bmp);
}

с должен быть понятным: зачем экономить наBMP прозрачность мусора вчерныйпри сохранении вPNG держит это ?

Просто для ясности:образ вFormat8bppIndexed формат и его палитра содержат прозрачные цвета (например, он правильно рисует на форме / картинке)

Редактировать: мой плохой,Bitmap.Save () на самом деле сохраняет BMP вFormat32bppRgb формат, даже если растровый форматFormat32bppArgb.

Ответы на вопрос(1)

Ваш ответ на вопрос