图像编码器
将原始像素数据压缩为特定图像格式 (JPEG、PNG、WebP 等) 的软件模块,具有可配置的质量和压缩设置。
图像编码器将内存中的未压缩像素数据 (RGB/RGBA 缓冲区) 转换为特定文件格式。编码过程应用压缩算法、添加格式头部并嵌入元数据。每种格式有专用编码器:libjpeg-turbo 用于 JPEG,libpng/OxiPNG 用于 PNG,libwebp 用于 WebP。
编码器质量通过压缩效率(同等质量下的文件大小)和处理速度之间的平衡来衡量。例如 MozJPEG 在同等质量下可以生成比标准 libjpeg 更小的文件,但编码速度更慢。缩小幅度取决于图像内容与编码设置,最可靠的做法是用两者编码同一张图像再比较。
对于客户端处理,浏览器通过 Canvas toBlob() 提供内置编码器,而 WebAssembly 编译的编码器为要求更高的应用提供更优的压缩比。