求把若干BMP图片组合成无压缩格式的视频的C#代码,感谢!

wangtong2010 2021-02-22 05:23:05
想把若干幅尺寸完全一样大的BMP格式(无压缩格式)的图片组合成一个也是没有经过压缩的视频动画文件。photoshop有此功能,但是有局限性,就是图片数量最多500帧,再多就不行了,所以在此求助。
要求有两点:1、图片数量不受限制,尺寸不受限制。2、能够自己设定帧率,即每秒播放的帧数。
希望方法简单些,谢谢。
...全文
192 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangtong2010 2021-02-23
  • 打赏
  • 举报
回复
请问下列代码有什么问题,500帧没有问题,1200多帧就不能正常显示了。


        private void menuItem2_Click(object sender, System.EventArgs e)
		{
			F_Open.ShowDialog();
			Bitmap bmp = new Bitmap(F_Open.FileNames[0]);
            MessageBox.Show(F_Open.FileNames.Length.ToString());
			int width = bmp.Width;
			int height = bmp.Height;
            string filename;
            AVIWriter aviWriter = new AVIWriter();
            if (FileName.Text.Trim().Length == 0)
            {
                filename = "default.avi";
            }
            else
            {
                filename = FileName.Text + ".avi";
            }
			aviWriter.Open(filename, width, height);
            //aviWriter.Codec = "Microsoft Video 1";
            aviWriter.FrameRate = 25;
			aviWriter.Quality = 100;
			for (int i = 0; i < F_Open.FileNames.Length; i++)
			{
				bmp = new Bitmap(F_Open.FileNames[i]);
				aviWriter.AddFrame(bmp);
                label2.Text = ((double)i / F_Open.FileNames.Length).ToString();
			}
			aviWriter.Close();
			aviWriter.Dispose();
			MessageBox.Show("Convert to " + filename + " Success!");
		}
正常一开始应该是这样的, 1200多帧时,一开始变成了这样,应该是结尾的图像,并且颜色也不对了,还出现了错位现象。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧