EncodeParameters deinterlace bmp

时间:2012-01-13 20:18:26

标签: c#

我正在寻找一种方法来获取32位位图并再次保存它,然后对帧进行逐行扫描。拍摄图像时,可以看到两个区域,但只有最后一个区域是必需的。这是否可以使用EncoderParameters。这是我到目前为止所尝试的:

using (Image source = Image.FromFile(@"C:\Users\Martin vanPutten\Desktop\test.bmp"))
        {
            ImageCodecInfo codec = ImageCodecInfo.GetImageEncoders().First(c => c.MimeType == "image/bmp");

            EncoderParameters parameters = new EncoderParameters(3);
            parameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 100L);
            parameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.ScanMethod, (int)EncoderValue.LastFrame);
            parameters.Param[2] = new EncoderParameter(System.Drawing.Imaging.Encoder.RenderMethod, (int)EncoderValue.RenderNonProgressive);

            source.Save(@"C:\Users\Martin vanPutten\Desktop\test2.bmp", codec, parameters);
        }

还有其他办法吗?我需要做的就是删除图像中的第二个重叠帧。

快速更新,不是它有两个帧,而是一帧中有2个字段。

0 个答案:

没有答案