You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何将PNG流解码至已有的字节数组?

关于PNG流解码的内存复用问题

我来梳理下从流中解码PNG时,常见两种方案的局限:

  • 最简便的方式是使用Image.FromStream(...),但它有个核心问题:无法将PNG数据解码到已预先分配好的缓冲区中。每次调用这个方法,都得为图像数据重新分配新内存,后续这些临时内存还得依赖GC回收,在性能敏感的场景下会造成不必要的开销。
  • 另一个可选的PngBitmapDecoder,它的构造函数仅接收Stream引用,解码逻辑完全在内部完成,没有提供任何可以复用已有缓冲区的相关方法。这意味着每次解码都必须创建新的PngBitmapDecoder实例,同样没办法利用预先准备好的内存来优化内存分配效率。

内容的提问来源于stack exchange,提问作者Emil Kabirov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:05:21