概述


`ImageEncoder` 允许将位图数据编码为目标格式(如 `image/webp`/`image/avif`),适合截图、导出与批处理场景。需控制质量、并发与资源释放。


示例


const encoder = new ImageEncoder({ type: 'image/webp', quality: 0.8 })
const { encodedData } = await encoder.encode(imageBitmap)
// 保存为 Blob
const blob = new Blob([encodedData], { type: 'image/webp' })

工程建议


  • 质量与体积:设置合适的 `quality`;根据用途选择格式与色彩空间。
  • 并发与资源:限制并发编码数量;及时释放 `ImageBitmap` 与中间缓冲。
  • 兼容:不支持时回退到 `canvas.toBlob()` 或服务端编码。

参考与验证


  • MDN WebCodecs 文档(ImageEncoder):https://developer.mozilla.org/docs/Web/API/ImageEncoder
  • web.dev WebCodecs 文章:https://web.dev/articles/webcodecs
  • Chrome 媒体文档:https://developer.chrome.com/docs/web-platform/webcodecs/


点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部