nodeJS图像大小增加/减less和裁剪

我正在使用节点gm模块进行像下面的图像操作

gm(req.files.file.path) .rotate('white', parseFloat(body.angle)) .scale(body.mW * 1, body.mH * 1) .crop(body.mW_W * 1, body.mH_W * 1, body.x * 1, body.y * 1) .resize(parseInt(body.w), parseInt(body.h), "!") .quality(1) .setFormat("png") .write(small, function (err) { if (!err) { console.log('Done!'); } else { console.log(err); console.log('error occurred'); } }); 

实际的尺寸可能是不同的,但我喂养的宽度和高度(也尝试resize )方法可能是更高或更低的实际尺寸。 正因为如此,我得到的图像,因为它是调整到最终body.w, body.h dimensions.How如何调整图像,而不会打扰原来的尺寸。

我find了答案,如果有人使用jquery guillotine或类似的库来select服务器上的图像作物的一部分,请使用下面的代码

  var newW = body.imageWidth * body.scale, newH = body.imageHeight * body.scale; gm(req.files.file.path) .rotate('white', body.angle) .resize(newW, newH, '!') .crop(body.w, body.h, body.x, body.y).write(path, function(err){ });