Я использую SharpAvi и хочу добавить изображение. У меня есть ImageSource в байтах, и я не могу записать изображение в поток. Я получаю это исключение:
"System.ArgumentException: 'Размер буфера недостаточен.'"
В документации, которую я читаю, мне нужно написать DIB. Как преобразовать ImageSource в Windows DIB?
//I convert canvas to Imagesource bytes
byte[] canvasdata = CanvasWriter.SaveCanvasToImgSimulate(canvas, (int)canvas.Width, (int)canvas.Height);
var writer = new AviWriter("test.avi")
{
FramesPerSecond = 30,
// Emitting AVI v1 index in addition to OpenDML index (AVI v2)
// improves compatibility with some software, including
// standard Windows programs like Media Player and File Explorer
EmitIndex1 = true
};
var stream = writer.AddMotionJpegVideoStream((int)data.CanvasW, (int)data.CanvasH, 70);
stream.WriteFrame(true, canvasdata, 0, canvasdata.Length);
writer.Close();