Node.js处理图片的中间件node-images详解
什么是node-images
node-images 是Node.js运行环境下的一个轻量级图片处理中间件,它可以在Node.js中进行图片的读取、缩放、裁剪、压缩等操作。
安装
在项目中使用 npm
命令进行安装
npm i images
基本使用
读取图片
const images = require('images');
const fs = require('fs');
// 读取图片
const img = images(fs.readFileSync('test.jpg'));
console.log(img.width(), img.height());
修改图片大小
const images = require('images');
const fs = require('fs');
// 读取图片
const img = images(fs.readFileSync('test.jpg'));
// 修改图片大小
img.resize(600, 400);
// 保存图片
fs.writeFileSync('test-resize.jpg', img.encode('jpg'));
常用方法
resize(width, height)
修改图片大小。
- width:宽度
- height:高度
resize(width / height)
按比例修改图片大小。
- width:宽度比例
- height:高度比例
crop(x, y, width, height)
裁剪图片。
- x:裁剪起点x坐标
- y:裁剪起点y坐标
- width:裁剪宽度
- height:裁剪高度
draw(image, x, y)
添加水印。
- image:水印图片
- x:水印起点x坐标
- y:水印起点y坐标
encode(format [,options])
将图片编码为特定格式的数据流。
- format:图片格式,例如:jpg、png、gif等
- options:图片编码参数
示例
示例一:
实现将test.jpg按比例缩小为原来的一半,并裁剪大小为400 x 400的图片。
const images = require('images');
const fs = require('fs');
// 读取图片
const img = images(fs.readFileSync('test.jpg'));
// 按比例缩放
img.resize(0.5);
// 裁剪
img.crop(0, 0, 400, 400);
// 保存图片
fs.writeFileSync('test-crop.jpg', img.encode('jpg'));
示例二:
实现在test.jpg的右下角添加一个logo.png的水印。
const images = require('images');
const fs = require('fs');
// 读取图片
const img = images(fs.readFileSync('test.jpg'));
// 绘制水印
const waterMark = images(fs.readFileSync('logo.png'));
img.draw(waterMark, img.width() - waterMark.width(), img.height() - waterMark.height());
// 保存图片
fs.writeFileSync('test-watermark.jpg', img.encode('jpg'));
以上就是node-images 图片中间件的使用说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs处理图片的中间件node-images详解 - Python技术站