sharp.js的常用方法

发布时间 2023-08-26 22:07:49作者: linux星

sharp.js是一个用于处理图像的JavaScript库,它提供了许多方法来操作和修改图像。以下是一些常用的sharp.js方法及其详细参数说明:

 

1. `resize(width, height)`: 调整图像的宽度和高度。

   - width(Number):新的宽度。

   - height(Number):新的高度。

 

2. `crop(left, top, width, height)`: 裁剪图像。

   - left(Number):裁剪区域的左边界。

   - top(Number):裁剪区域的上边界。

   - width(Number):裁剪区域的宽度。

   - height(Number):裁剪区域的高度。

 

3. `extract(left, top, width, height)`: 提取图像的一部分。

   - left(Number):提取区域的左边界。

   - top(Number):提取区域的上边界。

   - width(Number):提取区域的宽度。

   - height(Number):提取区域的高度。

 

4. `blur(radius)`: 对图像进行模糊处理。

   - radius(Number):模糊半径,值越大,模糊效果越明显。

 

5. `sharpen()`: 对图像进行锐化处理。

 

6. `contrast(level)`: 调整图像的对比度。

   - level(Number):对比度级别,值范围为-1到1,0表示原始图像,1表示最大对比度,-1表示最小对比度。

 

7. `grayscale()`: 将图像转换为灰度图像。

 

8. `greyscale()`: 将图像转换为灰度图像,与`grayscale()`方法相同。

 

9. `invert()`: 反转图像的颜色。

 

10. `color([r, g, b])`: 设置图像的指定颜色。

    - r(Number):红色分量,范围为0到255。

    - g(Number):绿色分量,范围为0到255。

    - b(Number):蓝色分量,范围为0到255。

 

以下是一个使用sharp.js的示例代码:

 

```javascript

const sharp = require('sharp');

 

sharp('input.jpg')

  .resize(300, 200)

  .crop(50, 50, 200, 100)

  .extract(100, 100, 150, 100)

  .blur(5)

  .toFile('output.jpg', (err, info) => {

    if (err) {

      console.error('Error:', err);

    } else {

      console.log('Image saved:', info);

    }

  });

```

 

在这个示例中,我们首先导入sharp库,然后使用`resize()`、`crop()`、`extract()`、`blur()`等方法对输入图像进行处理,最后将处理后的图像保存为`output.jpg`。