我的程序中有一个图像列表,我正在从它们生成一个AVI视频。为此,我使用avifilewrapper_src库来处理视频的创建。 创建过程是:
Bitmap bitmap;
//load the first image
bitmap = (Bitmap)imageSequence[0];
//create a new AVI file
AviManager aviManager = new AviManager(paths.outputVideo, false);
//add a new video stream and one frame to the new file
VideoStream aviStream =
aviManager.AddVideoStream(true, (double)nud_picturePerSec.Value, bitmap);
if(chb_audio.Checked)
aviManager.AddAudioStream(paths.sampleAudio, 0);
int count = 0;
for (int n = 0; n < imageSequence.Count; n++) {
bitmap = (Bitmap)imageSequence[n];
aviStream.AddFrame(bitmap);
bitmap.Dispose();
count++;
}
aviManager.Close();
如果我继续提供不同的图像,它可以正常工作。但是,如果我放了两个相似的图像,则视频显示第二张图像上下颠倒(左/右侧是正确的)。通过两个相似的图像,我的意思是创建第二个图像并从第一个图像复制它。
我感觉这与流有某种联系,但我无法找到图像反转的原因。
答案 0 :(得分:1)
嗯,我没有设法找到这种行为的原因。但是在每次使用之间进行擦拭都可以很好地进行修正。
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);