.NET 4.x Сохранение массива в изображение - C#
Формулировка задачи:
Дан набор байт, которые определяют изображение с заранее известной глубиной цвета — 8 бит.
Необходимо сохранить данный массив в изображение.
Пробовал:
На сохраненном изображении удается разглядеть лишь некоторые очертания.
Собственно, что я не так делаю?
using (Image img = CreateImage(width, height, Sprite)) { img.Save(@".\test.png"); }
private static Image CreateImage(int width, int heigth, byte[] buffer) { Image _image; Bitmap bmp = new Bitmap(width, heigth, PixelFormat.Format8bppIndexed); Rectangle rect = new Rectangle(Point.Empty, bmp.Size); BitmapData bmpData = bmp.LockBits(rect, ImageLockMode.ReadWrite, bmp.PixelFormat); try { Marshal.Copy(buffer, 0, bmpData.Scan0, width * heigth); } finally { bmp.UnlockBits(bmpData); _image = (Image)bmp; } return _image; }
Решение задачи: «.NET 4.x Сохранение массива в изображение»
textual
Листинг программы
Marshal.Copy(buffer, 0, bmpData.Scan0, width * heigth);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д