2017-07-04 4 views
0

これは私のプログラムの概要です。イメージを含むフォルダを選択します。プログラムは、そのフォルダ内のすべての画像(拡張子.JPG)をインポートします。次に、これらのイメージをMP4にエクスポートします。このプログラムでは、私は上記の画像をエクスポートするための目に見えるタイムラインは必要ありません。Cでイメージをエクスポートするビデオ#

私は普遍的な持続時間を設定できたいと思っています。可能であれば、画像にケンバーンズ効果を持たせたいと考えています。ここで画像は単純に5%〜10% (この部分は毎回変更する必要はありません)。今のように、これは私のコードです:私はこれまで、いくつかのライブラリを見てきた

private void btnOpen_Click(object sender, EventArgs e) 
{ 
    openFolder.Description = "Open a folder containing pictures for the slideshow!"; 

    if (openFolder.ShowDialog() == DialogResult.OK) 
    { 
     var folderPath = openFolder.SelectedPath; 
     MessageBox.Show(folderPath); 

     var fileArray = Directory.GetFiles(folderPath, "*.JPG"); 
     float duration = 4; 
     float startpos = 0; 
     foreach (var file in fileArray) 
     { 
      var filePath = [email protected]"{folderPath}\{file}"; 
      MessageBox.Show(filePath); 
      //add image to "timeline" 
      startpos += 4; 
     } 
    } 
    else 
    { 
     MessageBox.Show("Next time, select a folder and click open!", "Selection Cancelled", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    } 
} 

private void btnExport_Click(object sender, EventArgs e) 
{ 
    if (presetList.SelectedIndex == -1) 
     MessageBox.Show("Please select a preset!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    else 
    { 
     if (presetList.SelectedItem.ToString() == "720p, 30fps") 
     { 
      //export code here 
     } 
     else if (presetList.SelectedItem.ToString() == "720p, 60fps") 
     { 
      //export code here 
     } 
     else if (presetList.SelectedItem.ToString() == "1080p, 30fps") 
     { 
      //export code here 
     } 
     else if (presetList.SelectedItem.ToString() == "1080p, 60fps") 
     { 
      //export code here 
     } 
    } 
} 

、それらのどれも私のニーズに合うように思えませんし、それらのすべては、途方もなく高価であるように見えます。

+0

https://stackoverflow.com/questions/9744026/image-sequence-to-video-streamの重複? –

答えて

0

私は同じような仕事のためにMagick.netを使用しました。これらは素晴らしいオープンソースライブラリです。私は彼らが画像を拡大する機能を提供していることを知っています。

+0

私のメインプログラムのサポートとしてMagick.NETを追加するにはどうすればいいですか(私にはわかりませんが、私はこの言葉を知らないのですか?そして、私が見る限りでは、Magick.NETはスライドショーをサポートしていません(または各写真を拡大しています)。 – theworldisonfireandimlaughing

+1

@theworldisonfireandimlaughing Dan_Raysonさんからのコメントをコメントとして投稿してください。 Hauns_TMは、より良い説明とイメージで、この問題でより良い解決策を投稿しました。 –

+0

また、Magick.netはあなたのプログラムのためのnugetパッケージとして入手できます。あなたのプログラムへの参照としてそれらを追加することができます。 –

関連する問題