【问题标题】:System.Drawing.Image to stream C#System.Drawing.Image 流式传输 C#
【发布时间】:2009-11-03 16:29:43
【问题描述】:

我的程序中有一个System.Drawing.Image。该文件不在它保存在内存中的文件系统上。我需要从中创建一个流。我该怎么做呢?

【问题讨论】:

    标签: c# c#-3.0


    【解决方案1】:

    尝试以下方法:

    public static Stream ToStream(this Image image, ImageFormat format) {
      var stream = new System.IO.MemoryStream();
      image.Save(stream, format);
      stream.Position = 0;
      return stream;
    }
    

    然后你可以使用以下内容:

    var stream = myImage.ToStream(ImageFormat.Gif);
    

    用适合您场景的任何格式替换 GIF。

    【讨论】:

    【解决方案2】:

    使用内存流

    using(MemoryStream ms = new MemoryStream())
    {
        image.Save(ms, ...);
        return ms.ToArray();
    }
    

    【讨论】:

      【解决方案3】:
      public static Stream ToStream(this Image image)
      {
           var stream = new MemoryStream();
      
           image.Save(stream, image.RawFormat);
           stream.Position = 0;
      
           return stream;
       }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-12-19
        • 1970-01-01
        • 1970-01-01
        • 2020-07-17
        • 1970-01-01
        • 2013-04-27
        • 2014-11-17
        相关资源
        最近更新 更多