2016-09-21 7 views
1

私はVSでAforgeを使用してイメージを操作していますが、今は単一のイメージをビデオに変換する必要があります。私のコードは動作しますが、イメージパスを追加すると空のビデオが出力されます。私は何かが非常にシンプルだと思うが、私は実際にはC#について何も知っていないので、私はプロセスのすべてのステップを助ける必要がある。シングルイメージからビデオへ#

誰か助けてもらえますか?

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Drawing.Imaging; 
using System.Drawing.Drawing2D; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using AForge; 
using AForge.Video.FFMPEG; 


namespace VideoWriter 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
     InitializeComponent(); 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

      int width = 720; 
      int height = 402; 

      VideoFileWriter writer = new VideoFileWriter(); 
      writer.Open(@"C:\pathtovideo\video.mp4", width, height, 25, VideoCodec.MPEG4, 1000000); 

      Bitmap image = new Bitmap(width, height); 

      // THIS ONE NEXT IS WHAT I HAVE BEEN TRYING, BUT I GUESS IS VERY WRONG 
      //Bitmap image = new Bitmap(@"C:\pathtoimage\myimage.jpg"); 

      for (int i = 0; i < 250; i++) 
      { 
       writer.WriteVideoFrame(image); 
      } 

      writer.Close(); 

     } 
    } 

ちなみに、ライブラリやフレームワークを含まない他の解決策はうまくいきます。一番簡単なのはAforgeだけです。事前に

おかげで、私は次のコードでJPEG画像から動画を作成することができるよ

答えて

1

int width = 720; 
int height = 402; 

VideoFileWriter writer = new VideoFileWriter(); 
writer.Open(@"C:\Temp\video.mp4", width, height, 25, VideoCodec.MPEG4, 1000000); 

Bitmap originalImage = new Bitmap(@"C:\Temp\myimage.jpg"); 
Bitmap resizedImage = new Bitmap(originalImage, new Size(width, height)); 

for (int i = 0; i < 250; i++) 
{ 
    writer.WriteVideoFrame(resizedImage); 
} 

writer.Close(); 

あなたは、ビデオのサイズに合うように画像のサイズを変更する必要がありますフレーム。

+0

神はあなたを祝福します! これは、私の3回目の答えではありませんでした。だから私は今日このコードをしようとしていると私はあなたと誰もが何が起こったのかを知らせるためにここに戻ります。 もう一度ありがとうございます! – fauvent

+0

素晴らしい作品です!どうもありがとうございます!!!! – fauvent

+0

私は助けてくれることを嬉しく思います。 – sly

関連する問題