Я пытаюсь преобразовать 8-битный массив [], полученный с камеры машинного зрения, в png.
Преобразование байтового массива в PNG / JPG Я попытался следовать коду из этого потока, который решает ту же проблему, но я получаю ошибку.
Это мой код:
for (int i = 0; i < 1; ++i)
{
// Wait for an image and then retrieve it. A timeout of 5000 ms is used.
IGrabResult grabResult = camera.StreamGrabber.RetrieveResult(5000, TimeoutHandling.ThrowException);
using (grabResult)
{
// Image grabbed successfully?
if (grabResult.GrabSucceeded)
{
// Access the image data.
Console.WriteLine("SizeX: {0}", grabResult.Width);
Console.WriteLine("SizeY: {0}", grabResult.Height);
buffer = grabResult.PixelData as byte[];
Console.WriteLine("Gray value of first pixel: {0}", buffer[0]);
Console.WriteLine("");
// Display the grabbed image.
ImageWindow.DisplayImage(0, grabResult);
}
else
{
Console.WriteLine("Error: {0} {1}", grabResult.ErrorCode, grabResult.ErrorDescription);
}
}
using (Image image = Image.FromStream(new MemoryStream(buffer)))
{
image.Save("output.jpg", ImageFormat.Jpeg); // Or Png
}
System.Threading.Thread.Sleep(2000);
}
Это мое сообщение об ошибке:
Исключение: System.ArgumentException в System.Drawing.dll Исключение: параметр недействителен.