1.安装
npm i sharp
npm i @types/sharp
2.import sharp from "sharp";
3.介绍
- git 地址:https://github.com/lovell/sharp
- 文档地址: https://sharp.pixelplumbing.com/api-channel
-
/** * 使用clone()原因: * 拍摄Sharp实例的“快照”,返回一个新实例。克隆的实例继承其父实例的输入。允许多个输出流,因此 * 允许多个处理管道共享一个输入流。 * 具体详情见官方文档: * fit:(默认位置为centre) * cover:(默认)保留长宽比,通过裁剪/剪切以确保图像覆盖两个提供的尺寸。 * contain:保留长宽比,必要时在两个提供的尺寸内都包含“ letterboxing”。 * fill:忽略输入的宽高比,并拉伸到两个提供的尺寸。 * inside:保留高宽比,将图像调整为尽可能大的尺寸,同时确保其尺寸小于或等于指定的尺寸。 * outside:保留高宽比,将图像调整为尽可能小的尺寸,同时确保其尺寸大于或等于指定的尺寸。 * kernel: (核心, 默认lanczos3) * nearest:使用最近邻插值 。 * cubic:使用Catmull-Rom样条线 。 * mitchell:使用Mitchell-Netravali样条曲线 。 * lanczos2:将Lanczos内核 与一起使用a=2。 * lanczos3:使用Lanczos内核a=3(默认设置)。 */ //例子:通过剪裁覆盖规定的尺寸 sharp(”input.png) .clone() .resize(100, 100,{fit: "cover"}) .toBuffer(); //例子: 通过拉伸缩小,覆盖规定的尺寸 sharp(”input.png) .clone() .resize(100, 100,{fit: "fill"}) .toBuffer();