概述WebCodecs 提供原生高性能的图像编解码能力。`ImageDecoder` 解码为 `ImageBitmap`,`ImageEncoder` 将位图编码为压缩格式并返回字节数据。用法/示例// 解码 Blob -> ImageBitmap const blob = await fetch('/image.jpg').then(r => r.blob()) const dec = new ImageDecoder({ type: blob.type, data: await blob.arrayBuffer() }) const { image } = await dec.decode() // 编码 ImageBitmap -> Blob const enc = new ImageEncoder({ type: 'image/jpeg', quality: 0.85, alpha: 'discard' }) const chunk = await enc.encode(image) const out = new Blob([chunk.byteLength ? chunk.output : new Uint8Array(0)], { type: 'image/jpeg' }) 工程建议控制并发解码数量与位图尺寸,避免内存峰值;必要时分片处理。使用 `createImageBitmap` 与 `ImageBitmap` 回用策略,减少重复创建。校验设备与浏览器支持矩阵,并在不支持环境回退至 Canvas/OffscreenCanvas。参考与验证MDN:WebCodecs — https://developer.mozilla.org/docs/Web/API/WebCodecs_APIMDN:ImageDecoder — https://developer.mozilla.org/docs/Web/API/ImageDecoderMDN:ImageEncoder — https://developer.mozilla.org/docs/Web/API/ImageEncoder

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
1.758448s