我需要通过ImageMagick在Node.js中将图像调整为固定大小。示例:将200x140、500x200和130x100的图像转换为100x50。图像必须没有宽高比就被拉伸或压缩,并填满整个空间。我这样做是:
var im = require('imagemagick');
var resize_options = {
srcPath: path,
dstPath: path,
width: 100,
height: 50
};
im.resize(resize_options, function (err) {
if (err) {
console.log(err);
res.end('Error!');
}
else {
res.end('Success!');
}
});
但是图像仅按高度转换,例如-1440x900转换为80x50而不是100x50。我究竟做错了什么?
最佳答案
var im = require('imagemagick');
var width = 800;
var height = 123;
im.convert(['./in.jpg', '-resize', width + 'x' + height + '\!', './out.png'],
function (err, stdout) {
if (err) throw err;
});
会做的工作。它将图像的大小与原始大小无关地调整为给定的宽度和高度