破坏流将导致破坏位图

  • 本文关键字:位图 c# bitmap stream
  • 更新时间 :
  • 英文 :


我有一些像:

       public Bitmap GetBitmap()
       {         
            Byte[] byteArray= bring it from somewhere    
            using (Stream stream = new MemoryStream(byteArray))
            {
                return new Bitmap(stream);
            }
        }

当我在外部使用此方法时,位图被压碎。但是如果我进入"using"作用域,位图将存在并且工作良好。似乎处理流会导致处理位图。问题是:我需要深度拷贝吗?我该怎么做呢?

在处理Bitmap时将丢失,因此确实需要执行深度复制。最终你的代码应该是:

public static Bitmap GetBitmap()
{
    byte[] byteArray = bring it from somewhere
    using (Stream stream = new MemoryStream(byteArray))
    {
        var tempBitmap = new Bitmap(stream);
        return new Bitmap(tempBitmap); // This will deep-copy the Bitmap
    }
}

顺便说一下,通常基本类型,如byte,都是小写的。

相关内容

  • 没有找到相关文章

最新更新