我的程序中有一个图像列表,我正在从中生成一个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();
如果我继续提供不同的图像,它工作正常。但是,如果我放置两个相似的图像,则视频显示第二个图像颠倒(左/右边是正确的)。通过两个相似的图像,我的意思是创建第二个图像并从第一个图像复制它。
我有一种感觉,这与流有某种关系,但我找不到为什么图像是反转的。
好吧,我没有设法找到这种行为的原因。但是在每次使用之间翻转它可以很好地进行校正。
bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);