调整大小和裁剪图像并保持高宽比NodeJS和gm
我一直在尝试使用gm
NodeJS
的程序包创建一些缩略图,但是我很幸运。我需要调整大于600x600的图像大小(从给定的宽度/高度开始,可以是任何宽度/高度),但是当我将尺寸传递给gm时,它将创建与我要求的尺寸不同的图像。
例如,给定此代码,我假设运行时node app
/path/to/image.png将收到大小为200x100的图像,但我得到的图像为180x100或200x90 …
gm(fileLocation) .thumb(200, 100, 'processed.' + process.argv[2].split('.').pop(), function() {
console.log("Done!");
});
我也尝试过调整大小选项。甚至还可以选择强制大小,但是输出的长宽比太可怕了……
gm('/path/to/image.jpg') .resize(353, 257)
.write(writeStream, function (err) {
if (!err) console.log(' hooray! ');
});
回答:
尝试使用imagemagick
NodeJS软件包:https : //github.com/yourdeveloper/node-
imagemagick
im.crop({ srcPath: process.argv[2],
dstPath: 'cropped.' + process.argv[2].split('.').pop(),
width: 200,
height: 200,
quality: 1,
gravity: 'Center'
}, function(err, stdout, stderr){
if (err) throw err;
console.log('resized ' + process.argv[2].split('/').pop() + ' to fit within 200x200px');
});
请注意,node-imagemagick软件包已经很长时间没有更新了。
以上是 调整大小和裁剪图像并保持高宽比NodeJS和gm 的全部内容, 来源链接: utcz.com/qa/415174.html