C # - конвертировать Jpg в Png с прозрачностью индекса - PullRequest
4 голосов
/ 03 ноября 2011

Мне нужно эффективно преобразовать изображение JPG в изображение PNG с прозрачностью индекса. Вы знаете, возможно ли это (или есть код) сделать это?

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

Ответ - продолжение

Спасибо за помощь. Вот код, который я только что протестировал.

Bitmap b = new Bitmap(Image.FromFile("c:\\input2.jpg"));
b.MakeTransparent(Color.White);
b.Save("c:\\output2.png", ImageFormat.Png);

Он преобразуется нормально, но есть различные оттенки белого, и если вы планируете сделать белые рамки вокруг вашего изображения прозрачными, вам нужно будет также сделать все эти оттенки белого прозрачными.

веселит.

1 Ответ

5 голосов
/ 03 ноября 2011

попробуйте это ... для меня это работает

Bitmap b = Image.FromFile(/*Image*/);
b.MakeTransparent(Color.White);
g.DrawImage(b, new Point(0, 0));
...