【问题标题】:Save bitmaps to a mjpeg file using C# [duplicate]使用 C# 将位图保存到 mjpeg 文件 [重复]
【发布时间】:2014-08-15 22:52:13
【问题描述】:

我正在尝试使用 C# 将位图保存到 mjpeg 文件中。 我可以使用

将 1 张图片保存为 jpeg
bitmap.Save("filename", System.Drawing.Imaging.ImageFormat.jpeg);

在上面的代码中,位图是一个System.Drawing.Bitmap类型的对象

我正在解析来自另一个文件(自定义格式)或相机的图像,并希望以 mjpeg 形式将它们传递给 WCF。作为第一步,我正在尝试保存 mjpeg 文件。

如何将多张图片保存在同一个文件中?该文件将使用 .mjpeg 扩展名而不是 .jpeg。

编辑:

检查了Write MJPEG stream to disk,但他正在尝试另存为内存流。我想把它保存到一个 mjpeg 文件中。

【问题讨论】:

  • 我对这个问题有点困惑。您想在同一个图像文件中包含多个图像吗?
  • 是的。而不是 jpeg,它将被保存为 mjpeg
  • 这似乎也与您正在做的类似。 stackoverflow.com/questions/1595945/…

标签: c# bitmap bitmapimage bitmapdata mjpeg


【解决方案1】:

您可以使用File.Open 将文件作为流打开,然后使用您指向的方法将jpg 写入该流。这里有一些伪代码来说明:

using (var fileStream = File.Open("movie.mjpg"))
{
    foreach (var bitmap in listOfBitmaps) 
    {
        bitmap.Save(fileStream, Jeg);
    }
}

【讨论】:

  • 你的意思是我应该创建一个文件流,而不是将位图保存为 jpeg?我正在解析来自另一个文件或相机的图像,并希望以 mjpeg 形式将它们传递给 WCF。作为第一步,我正在尝试保存 mjpeg 文件。
  • @user2330678 - 嗯,这里显然有些混乱。你不能把 jpg 写成流吗? ...如果您用bitmap 变量是什么类型的对象来扩展您的问题,这可能会有所帮助...
  • 位图变量是 System.Drawing.Bitmap 类型。编辑了问题。
  • @user2330678 - 对,所以如果你打开一个文件流,那么你可以使用 bitmap.Save 写入流而不是直接写入文件
猜你喜欢
  • 2018-12-26
  • 1970-01-01
  • 1970-01-01
  • 2013-03-16
  • 2011-06-27
  • 1970-01-01
  • 2011-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多