Как удалить альфа канал в изображении?

223
25 декабря 2017, 10:23

Делаю кроппинг картинки. Как удалить альфа-канал в изображении?

 public Bitmap cropAtRect(Bitmap b, Rectangle r)
        {
            Bitmap nb = new Bitmap(r.Width, r.Height);
            Graphics g = Graphics.FromImage(nb);
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            g.DrawImage(b, -r.X, -r.Y);
            return nb;
        }

Answer 1

Тут советуют нарисовать белый квадрат и поверх него нарисовать свое изображение:

void RemTransp(string file) {
    Bitmap src = new Bitmap(file);
    Bitmap target = new Bitmap(src.Size.Width,src.Size.Height);
    Graphics g = Graphics.FromImage(target);
    g.DrawRectangle(new Pen(new SolidBrush(Color.White)), 0, 0, target.Width, target.Height);
    g.DrawImage(src, 0, 0);
    target.Save("Your target path");
}
Answer 2

Используйте конструктор new Bitmap(Int32, Int32, PixelFormat), где из перечисления PixelFormat выберите те, что без Alpha-канала, например Format24bppRgb

READ ALSO
Как преобразовать массив в Стек

Как преобразовать массив в Стек

Во первых возможно ли это ?

174
Backend под Linux [требует правки]

Backend под Linux [требует правки]

Доброе время сутокРешили с другом начать изучать Веб

184
Обновить данные пользователя с Identity

Обновить данные пользователя с Identity

Здравствуйте, мне нужно обновить данные пользователя с помощью IdentityЕсть такой метод контролера :

218
Ошибка в запросе к MySQL из C# - Table XXX doesn't exist

Ошибка в запросе к MySQL из C# - Table XXX doesn't exist

В данном запросе происходит поиск/проверка и вывод ID, фио в другую форму

209