跳转到内容
VIPS Handbook 标志:三层叠放的流式图像切片卡片

VIPS 生态实践手册

用同一套心智模型理解 libvips 与四个常用入口。

本站由 WebP Cloud 维护,是社区项目,不是 libvips 官方文档。所有公开页面都按正式内容维护;版本敏感结论会标明复核日期与验证边界。

认识生态

分清 libvips、命令行工具和语言绑定(binding)。进入生态说明

选择语言绑定

按现有语言分流到 govips、sharp、pyvips 或 CLI。选择入口

理解执行

弄清按需执行、顺序访问和导出时才出现的错误。按需执行模型

夜色中亮起红色轮廓灯的苏州东方之门建筑与前景步道
项目自有输入1938 × 1292 JPEG
由 govips 生成的 640 像素 WebP 夜景缩略图
govips 实际输出640 × 427 WebP,quality 82

这不是装饰性示意图,而是由页面所示 Go 示例实际生成并记录版本的输出。前往15 分钟 Quickstart查看代码、参数与当前验证边界。

场景实战

按读写与转换、几何与画布、合成与色彩、格式与特殊场景组织的完整代码示例。浏览场景实战

生产实践

进程与对象生命周期管理、不可信输入限制与加载器阻断边界。浏览生产实践

故障排查

定位 out of order read、偏色与 ICC 丢失、并发崩溃和疑似内存泄漏。浏览故障排查

参考资料

跨绑定操作映射、默认参数差异、格式支持矩阵与版本基线。浏览参考资料

  • govips:适合 Go 服务,需理解 CGO、libvips 生命周期与资源释放。
  • sharp:适合 Node.js 图像 Pipeline,安装体验通常更封装化。
  • pyvips:适合 Python 自动化、研究与服务端工作流。
  • vips CLI:适合探索操作、Shell 批处理和最小复现。

把 libvips 与 govips、pyvips、sharp 的重要发布放在一起看,快速判断新能力来自底层库还是语言绑定。

sharp

sharp 0.35.5 加强数组与输入边界检查

该补丁限制 linear 与 GIF delay 数组长度,改进 WebAssembly 回退错误处理,并随包升级到包含更多输入校验的 libvips。

原始记录 ↗
libvips

libvips 8.18.7 加强多种 Loader 的输入校验

该补丁限制 LUT 大小、加强 TIFF、PDFium 与 JPEG 2000 输入检查,并将 JPEG 2000 保存标记为不可信操作,适合处理外部输入的服务优先评估。

原始记录 ↗
govips

govips 2.19 增加 Reader/Writer 流式处理

新的 LoadImageFromReader、SaveToWriter 与 TranscodeStream 将 Go 的 io.Reader/io.Writer 接入 libvips,并区分顺序读取与需要实体化的变换。

原始记录 ↗
pyvips

pyvips 3.2 增加完整类型提示与 PIL 转换

3.2 通过生成的 stub 覆盖 libvips 操作类型,补充常用手写 API 的类型提示,并加入 Image.pil 与并发度读写函数。

原始记录 ↗
sharp

sharp 0.35 增加 HDR gain map、ESM 与 AVIF 调优

0.35 要求 Node.js 20.9 以上,加入 HDR JPEG gain map、ESM、WebP exact 与 AVIF/HEIF tune,并将 WebAssembly 移出实验状态。

原始记录 ↗
govips

govips 2.18 加入 ImageRef 泄漏检测

该版本提供 OpenImageRefs 与 AssertNoLeaks,用于定位未关闭的 ImageRef,并拆分大型 ImageRef 实现以改善维护性。

原始记录 ↗

查看完整生态时间线 →