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