2012-03-07 82 views
3

如何在C#中从流图像(只有没有声音的图像)构建视频?从流图像创建视频c#

这里是我的应用程序的一些代码:

static int ii = 1; 
public void drawBitmap(byte[] data) 
{ 
    MemoryStream ms = new MemoryStream(data); 
    try 
    { 
     Bitmap b = new Bitmap(ms); 
     b.Save(@"c:\test\" + (ii++) + ".jpg"); 
     Image i = (Image)b; 
     pictureBox1.Image = i; 
     ii++; 
    } 
    catch (Exception e) 
    { 
    } 
} 
+2

普莱斯阐述。你想写一个AVI,或只是以给定的帧速率显示它们吗? – 2012-03-07 19:24:45

+0

写一个AVI并保存到我的桌面 谢谢 – user1245145 2012-03-07 19:28:22

+0

任何最终的解决方案,完整的源代码示例? – Kiquenet 2013-11-28 20:43:24

回答

4

我用上面提到的包装,像这样:

private static void hejHopp() 
{ 
    //http://www.codeproject.com/Articles/7388/A-Simple-C-Wrapper-for-the-AviFile-Library 

    //myReadyNAS device, got files via FTP from my webcam 
    var jpgFileList = Directory.EnumerateFiles(sourcePath,"*.jpg"); 

    //load the first image 
    Bitmap bitmap = (Bitmap)Image.FromFile(jpgFileList.First()); 

    //create a new AVI file 
    AviManager aviManager = new AviManager(sourcePath + "\\tada.avi", false); 

    //add a new video stream and one frame to the new file 
    //set IsCompressed = false 
    VideoStream aviStream = aviManager.AddVideoStream(false, 2, bitmap); 

    jpgFileList.Skip(1).ToList().ForEach(file => 
    { 
     bitmap = (Bitmap)Bitmap.FromFile(file); 
     aviStream.AddFrame(bitmap); 
     bitmap.Dispose(); 
    }); 

    aviManager.Close(); 
} 
+0

包装导致“访问冲突”,任何解决方法的例外? – CodeIt 2017-02-15 16:38:52