【问题标题】:Reversed bitmap when creating AVI container创建 AVI 容器时反转位图
【发布时间】:2015-04-12 11:50:26
【问题描述】:

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

如果我继续提供不同的图像,它会正常工作。但是,如果我放置两个相似的图像,则视频会倒置显示第二张图像(左/右侧是正确的)。我所说的两个相似的图像是指创建第二个图像并从第一个图像中复制它。

我感觉这与流有某种关系,但我找不到图像反转的原因。

【问题讨论】:

    标签: c# image bitmap stream avi


    【解决方案1】:

    好吧,我没能找到导致这种行为的原因。但是在每次使用之间翻转它可以很好地进行校正。

    bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);
    

    【讨论】:

      猜你喜欢
      • 2012-08-01
      • 2013-05-12
      • 2012-11-24
      • 2017-05-15
      • 2017-01-29
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 2010-12-24
      相关资源
      最近更新 更多