C#,将PNG流解码为现有的字节数组?

时间:2018-03-04 23:02:16

标签: c# image buffer decode

从流中解码PNG的最简单方法是:

Bitmap png = new Bitmap(Image.FromStream(pngStream));

但这不允许我们将PNG解码为现有缓冲区。因此,如果我们使用这种方式,Image.FromStream(..)必须在每次调用时为图像数据分配新的内存(然后GC每次都必须收集使用过的内存)。

还有PngBitmapDecoder,但是它在构造函数中使用Stream引用并在构造函数内解码PNG,并且没有其他函数可以执行它,所以我每次都必须创建新的PngBitmapDecoder。

所以我想要一些方法将引用/指针传递给现有的字节缓冲区,因此PNG解码器每次都使用它,没有冗余的分配/解除分配。

是否有其他标准方法可以执行此操作,或者您可以建议某些第三方库 .Net 4.6.2 执行此操作?

0 个答案:

没有答案