创建 AVI 容器时反转位图



我的程序中有一个图像列表,我正在从中生成一个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);

相关内容

  • 没有找到相关文章

最新更新