在 Node.js 中调整图像大小,不带纵横比

Resize image without aspect ratio in Node.js

本文关键字:js Node 调整 图像      更新时间:2023-09-26

我需要通过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;
  });

会做这项工作。它将图像的大小与其原始大小无关地调整为给定的宽度和高度