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();