跳到正文
跟我做
S
图像处理免费开源更新 2026/10/24

Sharp

Node.js 的高性能图像处理库,用来缩放、裁剪、合成和批量输出图片。教程里的批量封面渲染用它。

适合什么

  • 批量缩放、裁剪、转格式。
  • 把 SVG 渲染成 PNG 或 JPG。
  • 在图片上叠加文字、水印、另一张图。
  • 在服务器上无浏览器地处理图片。

不适合什么

  • 复杂网页排版和网页字体渲染。需要这些时,用 Playwright 截 HTML 更合适。
  • 视频处理。Sharp 只处理图像。

常用写法

import sharp from "sharp";

await sharp("input.png")
  .resize(1080, 1440, { fit: "cover" })
  .jpeg({ quality: 92 })
  .toFile("output.jpg");

把 SVG 字符串直接渲染成图片:

await sharp(Buffer.from(svgString))
  .png()
  .toFile("cover.png");

免费替代

  • ImageMagick:命令行能力强,适合脚本和批处理。
  • Canvas(node-canvas):需要在画布上做更自由的绘制时使用。
  • Playwright:需要完整网页排版和网页字体时使用。

注意

  • SVG 里的中文依赖系统字体。服务器上先安装 Noto Sans CJK 或思源黑体。
  • 批量处理时控制并发,图片解码和编码都吃内存。
  • 输出 JPG 时质量设到 90 左右通常已经足够,没必要盲目拉满。

用它的教程

全部教程