如何在 Node Jimp 中使用 crop() 函数裁剪图像?
NodeJS – crop() 是一个内置函数,用于裁剪图像。我们可以使用 crop 在指定的坐标和尺寸内选择/裁剪图像。
语法
crop( x, y, w, h, cb )
crop() 参数定义
x – 它将保存裁剪的 x 坐标值。(必需)
y – 它将保存裁剪的 y 坐标值。(必需)
w – 此参数用于存储裁剪图像的宽度。(必需)
h – 此参数用于存储裁剪图像的高度。(必需)
cb – 这是一个可选参数,可以在编译完成后调用。
输入图像
使用 Node JIMP – CROP()
在使用 crop() 函数之前,请检查以下语句是否已执行以设置环境。
npm init -y // 初始化 Node 环境
npm install jimp --save // 安装 jimp 依赖项
创建一个 crop.js 文件并将以下代码片段复制粘贴到其中。
使用 node crop.js 运行代码。
注意 - 方法名称应与 JS 文件名匹配。只有这样才能调用所需的方法。
示例
const Jimp = require('jimp') ; async function crop() { // Function name is same as of file name // Reading Image const image = await Jimp.read ('/home/jimp/tutorials_point_img.jpg'); image.crop(100, 50, 470, 270) .write('/home/jimp/crop.jpg'); } crop(); // Calling the function here using async console.log("Image is processed successfully");
输出
使用 Node JIMP – 带有 'cb' 可选参数的 CROP()
示例
const Jimp = require('jimp') ; async function crop() { // Reading Image const image = await Jimp.read ('/home/jimp/tutorials_point_img.jpg'); // Checking if any error occurs while cropping image.crop(150, 0, 1000, 1800, function(err){ if (err) throw err; }) .write('/home/jimp/crop.jpg'); } crop(); console.log("Image is processed successfully");
输出
/home/jimp/ >> node crop.js // On running the above code snippet Image is processed successfully (node:194779) UnhandledPromiseRejectionWarning: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 1119996. Received 1120040 at boundsError (internal/buffer.js:49:9) at Buffer.readUInt32BE (internal/buffer.js:192:5) at Jimp.<anonymous> (/home/jimp/node_modules/@jimp/plugincrop/dist/index.js:43:37) at scan (/home/jimp/node_modules/@jimp/utils/dist/index.js:53:9) at Jimp.scanQuiet (/home/jimp/node_modules/@jimp/core/dist/index.js:1262:32) at Jimp.cropQuiet (/home/jimp/node_modules/@jimp/plugincrop/dist/index.js:42:12)
广告