调整大小和裁剪图像并保持高宽比NodeJS和gm

我一直在尝试使用gmNodeJS

的程序包创建一些缩略图,但是我很幸运。我需要调整大于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! ');

});

回答:

尝试使用imagemagickNodeJS软件包: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

回到顶部