在前端开发中,使用图片处理工具是很常见的需求。gm-installed 是一个基于 Node.js 的图片处理库,能够进行图片压缩、剪裁、缩放、添加水印等操作,具有很高的灵活性和可定制性。在本文中,我们将深入探讨 npm 包 gm-installed 的使用方法。
1. 安装 gm-installed
首先,我们需要在项目中安装 gm-installed 包,可以通过以下命令来安装:
npm install --save gm-installed
2. 读取图片信息
使用 gm-installed 进行图片处理之前,需要先读取图片信息,可以通过以下代码实现:
const gm = require('gm-installed'); gm('input.jpg') .size((err, size) => { if (!err) console.log(size.width, size.height); });
上述代码中,我们使用 size() 方法读取了 input.jpg 文件的尺寸,回调函数中的参数 size 包含了图片的宽度和高度信息。
3. 图片剪裁
接着,我们可以尝试对图片进行剪裁。下面的代码将从 input.jpg 中剪裁出一个宽度为 200,高度为 200 的图片,并保存为 output.jpg 文件:
const gm = require('gm-installed'); gm('input.jpg') .crop(200, 200, 0, 0) .write('output.jpg', (err) => { if (!err) console.log('done!'); });
上述代码中,我们使用 crop() 方法对图片进行剪裁,前两个参数是剪裁后的宽度和高度,后两个参数是剪裁起始点的水平和垂直坐标。write() 方法将处理后的图片保存为文件。如果没有出现错误,则输出 done!。
4. 图片压缩
将图片进行压缩是很常见的操作。我们可以使用 resize() 方法对图片进行压缩。下面的代码将把 input.jpg 文件压缩成宽度为 200 的图片,并保存为 output.jpg 文件:
const gm = require('gm-installed'); gm('input.jpg') .resize(200) .write('output.jpg', (err) => { if (!err) console.log('done!'); });
上述代码中,我们将 resize() 方法的参数指定为 200,表示将图片宽度压缩到 200 像素,高度会按比例自动缩放。write() 方法将处理后的图片保存为文件。如果没有出现错误,则输出 done!。
5. 添加水印
在实际应用中,我们可能需要在图片上添加水印。下面的代码将在 input.jpg 文件上添加一个文字水印,并保存为 output.jpg 文件:
const gm = require('gm-installed'); gm('input.jpg') .font('Arial.ttf', 36) .drawText(20, 20, "Hello World") .write('output.jpg', (err) => { if (!err) console.log('done!'); });
上述代码中,我们使用 font() 方法指定水印文字的字体和大小,使用 drawText() 方法指定水印文字的内容和起始坐标。write() 方法将处理后的图片保存为文件。如果没有出现错误,则输出 done!。
总结
通过本文的介绍,我们了解了 gm-installed 包的基本用法,包括读取图片信息、图片剪裁、图片压缩和添加水印等操作。gm-installed 提供了很多其他的图片处理方法,具体可以参考官方文档,希望本文对大家有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/70669