独立的 HTTP 图片服务,通过 URL 参数实时缩放、裁剪、处理和转换图片。
- Star
- 32,830
- Fork
- 1,450
- 未关闭 Issue
- 121
- 最近提交
- 前天
这是什么?
sharp 是一个用于 Node.js 的图像处理模块,基于 Node-API 实现。常见用法是把大尺寸图片转换为更小、适合网页的 JPEG、PNG、WebP、GIF 和 AVIF 文件,并支持多种尺寸输出。底层使用 libvips 库,缩放速度明显快于 ImageMagick 和 GraphicsMagick 的常用配置。
除缩放外,sharp 还支持旋转、裁剪、图层合成和 Gamma 校正等操作。它能正确处理色彩空间、内嵌 ICC 配置文件和透明通道,并使用 Lanczos 重采样保证质量。操作可以作用于 Buffer、文件或流。
该模块可运行在支持 Node-API v9 的 JavaScript 运行时上,包括 Node.js 20.9.0 及以上版本、Deno 和 Bun。大多数现代 macOS、Windows 和 Linux 系统无需额外安装依赖即可使用。
核心功能
- 01支持 JPEG、PNG、WebP、GIF、AVIF 等格式的缩放与转换。
- 02支持旋转、裁剪、图层合成和 Gamma 校正。
- 03正确处理 ICC 配置文件、EXIF 方向和透明通道。
- 04可直接处理 Buffer、文件和流。
- 05通过 Node-API v9 支持 Node.js、Deno 和 Bun。
适用场景
- 在用户上传图片时生成缩略图和多种尺寸的网页图片。
- 在构建或媒体处理流程中批量把大图转换为 WebP 或 AVIF。
- 在服务端利用 SVG 图层合成实现圆角、水印或叠加效果。
快速上手
- 1
从 npm 安装 sharp
npm install sharp - 2
在代码中导入或 require sharp
- 3
调整图片大小并输出为 WebP 文件
使用前须知
- 需要支持 Node-API v9 的运行环境,例如 Node.js 20.9.0 或更高版本。
收录于专题
标签
常见问题
- sharp 是什么?
- 基于 libvips 的高性能 Node.js 图像处理模块,可缩放和转换 JPEG、PNG、WebP、AVIF 等格式。 sharp 是一个用于 Node.js 的图像处理模块,基于 Node-API 实现。常见用法是把大尺寸图片转换为更小、适合网页的 JPEG、PNG、WebP、GIF 和 AVIF 文件,并支持多种尺寸输出。底层使用 libvips 库,缩放速度明显快于 ImageMagick 和 GraphicsMagick 的常用配置。
- sharp 可以免费使用吗?用的什么许可证?
- sharp 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- sharp 还在维护吗?
- 活跃维护中。sharp 最近一次提交是在 2026年11月5日。
- sharp 适合用来做什么?
- 在用户上传图片时生成缩略图和多种尺寸的网页图片。 在构建或媒体处理流程中批量把大图转换为 WebP 或 AVIF。 在服务端利用 SVG 图层合成实现圆角、水印或叠加效果。
- sharp 怎么安装和运行?
- 从 npm 安装 sharp: npm install sharp 在代码中导入或 require sharp 调整图片大小并输出为 WebP 文件
- 在哪里获取 sharp?
- 源代码和安装说明在 GitHub 上:https://github.com/lovell/sharp
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1.1万+18 本周791GoApache-2.0维护活跃更新于 前天
一个基于 Go 的服务,可按需将 JPG、PNG 等图片实时转换为 WebP 或 AVIF 格式,无需修改图片地址。
2006187GoGPL-3.0维护活跃更新于 9天前
基于 Docker 的图片服务,通过 URL 参数实时缩放、裁剪和压缩图片,并支持缓存。
1233123PHPAGPL-3.0维护活跃更新于 4天前
跨平台桌面图片压缩工具,可压缩 JPG、PNG、WebP 和 TIFF 文件,并可选择降低分辨率。
6466+14 本周371C++GPL-3.0更新于 上个月
无需手动调画质的有损 PNG 压缩工具,自动选出仍保持视觉质量的最小文件,支持命令行和浏览器。
507+97 本周43RustMIT维护活跃更新于 4天前
面向 Windows 和 Linux 的桌面图片转换工具,可批量转换为 JPEG XL、AVIF、WebP、JPEG 和 PNG 等格式。
59532PythonOther更新于 2个月前