Преобразование bitmap в 16bit - C#
Формулировка задачи:
Всем доброго времени суток! Прошу помочь с программой.
Как преобразовать BMP картинку в 16 bit?
Пробовал с помощью :
Картинка не изменяется.
Для тех кто не понял:
public static Bitmap ConvertTo16bpp(Image img) { var bmp = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format16bppRgb555); using (var gr = Graphics.FromImage(bmp)) gr.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height)); return bmp; }
У меня есть картинка:
http://ts02.spac.me/tfil/b510a4f6b6c...jpg?1454251124
Ее нужно преобразовать в:
http://cs10.superfiles.me/f/08223823...8b9a6e46/2.png
В простом paint-e это делается так:
http://ts02.spac.me/tfil/d36eb335d13...jpg?1454251225
Решение задачи: «Преобразование bitmap в 16bit»
textual
Листинг программы
public static Bitmap ToGrayscale(Bitmap original) { var bmp = new Bitmap(original.Width, original.Height); using (var g = Graphics.FromImage(bmp)) { var att = new ImageAttributes(); att.SetColorMatrix(new ColorMatrix( new[] { new[] {.3f, .3f, .3f, 0, 0}, new[] {.59f, .59f, .59f, 0, 0}, new[] {.11f, .11f, .11f, 0, 0}, new[] {0, 0, 0, 1, 0f}, new[] {0, 0, 0, 0, 1f} } )); g.DrawImage(original, new Rectangle(0, 0, original.Width, original.Height), 0, 0, original.Width, original.Height, GraphicsUnit.Pixel, att); } return bmp; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д