[VB/C#] Bitmap から動画生成
Visual Basic/C# で .bmp ファイルや Bitmap オブジェクトから動画(.avi ファイル)の生成は、AForge.NET Framework を利用すると簡単でした。音声はありません。
AForge.NET Framework ダウンロード
Framework Downloads から、ライブラリをダウンロードします。現在のバージョンは、2.2.5(July 17, 2013 リリース)です。
Visual Basic/C# で参照する、今回必要なファイルは、AForge.dll, AForge.Video.dll, AForge.Video.VFW.dll です。
動画ファイルを生成するコード
Visual Basic/C# のプロジェクトに AForge.Video.VFW.dll の参照を追加します。
ミニマムなコードはこんな感じです。フレーム数分、AVIWriter.AddRrame メソッドに所望の Bitmap オブジェクトを渡します。コーデックは、4文字の値(FOURCC)で指定します。
テキストを動画化する場合などに、簡単に実装できそうです。
Visual Basic (VB.NET)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sub Main() | |
Dim writer = New AForge.Video.VFW.AVIWriter | |
writer.Codec = "MSVC" | |
writer.FrameRate = 15 | |
writer.Open("out.avi", 800, 600) ' 800×600 | |
writer.AddFrame(New System.Drawing.Bitmap(800, 600)) | |
writer.Close() | |
End Sub |
C#
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
static void Main(string[] args) | |
{ | |
var writer = new AForge.Video.VFW.AVIWriter(); | |
writer.Codec = "MSVC"; | |
writer.FrameRate = 15; | |
writer.Open("out.avi", 800, 600); // 800×600 | |
writer.AddFrame(new System.Drawing.Bitmap(800, 600)); | |
writer.Close(); | |
} |