.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);