C# 用C语言导出带有图像的视频#

C# 用C语言导出带有图像的视频#,c#,image,C#,Image,下面是我的课程概述。您可以选择包含图像的文件夹。程序导入所述文件夹中的所有图像(扩展名为.JPG)。然后,它将这些图像导出到MP4中。对于这个程序,我不需要一个可见的时间线,只需要一种导出所述图像的方法 我希望能够设置一个通用的持续时间,并且我希望(如果可能的话)对每个图像都有Ken Burns效果,其中图像只是按5%-10%的比例放大(这部分不必每次都改变)。现在,这是我的代码: private void btnOpen_Click(object sender, EventArgs e) {

下面是我的课程概述。您可以选择包含图像的文件夹。程序导入所述文件夹中的所有图像(扩展名为.JPG)。然后,它将这些图像导出到MP4中。对于这个程序,我不需要一个可见的时间线,只需要一种导出所述图像的方法

我希望能够设置一个通用的持续时间,并且我希望(如果可能的话)对每个图像都有Ken Burns效果,其中图像只是按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 = $@"{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
        }
    }
}

到目前为止,我已经查看了一些库,但它们似乎都不适合我的需要,而且所有的库似乎都贵得离谱。

我也使用过类似的任务,这是一个很好的开源库。我知道它们提供了一个缩放图像的功能。

我曾用于类似的任务,这是一个很好的开源库。我知道它们提供了缩放图像的功能。

Duplicate of?Duplicate of?我该如何添加Magick.NET作为主程序的支持(请原谅,我不知道术语)?据我所知,Magick.NET不支持幻灯片放映(或放大每张照片)…@theworldisonfire.com你应该看看Dan_Rayson作为评论发布的链接。Hauns_TM在这个问题上发布了一个更好的解决方案,并提供了更好的解释和图片。此外,Magick.net作为您的程序的nuget软件包提供,您可以将它们添加到您的程序中作为参考。我如何添加Magick.net作为我的主程序的支持(请原谅,我不知道术语)?据我所知,Magick.NET不支持幻灯片放映(或放大每张照片)…@theworldisonfire.com你应该看看Dan_Rayson作为评论发布的链接。Hauns_TM在这个问题上发布了一个更好的解决方案,并提供了更好的解释和图片。此外,Magick.net作为您的程序的nuget软件包提供,您可以将它们作为参考添加到您的程序中。