javascript - 在 Node.js 中调整图像大小而无需纵横比

标签 javascript node.js image imagemagick

我需要通过 ImageMagick 在 Node.js 中将图像大小调整为固定大小。示例:图像 200x140、500x200 和 130x100 转换为 100x50。图像必须在没有纵横比的情况下拉伸(stretch)或压缩并填充整个空间。我这样做是这样的:

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;
  });

可以完成这项工作。它将图像的大小调整为给定的宽度和高度,与原始尺寸无关

关于javascript - 在 Node.js 中调整图像大小而无需纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35440743/

相关文章:

Android Paint PorterDuff.Mode.CLEAR 在我的 View 中绘制黑色

javascript - 如何使用 JavaScript 下载大文件

javascript - "Select all"的高亮颜色变化

javascript - 存储来自 twitter api javascript (nodejs) 的数据

javascript - 使用 EventEmitter 编写异步函数

html - 如何将文字放在图片之前?

javascript - this.state.events.map 不是函数

javascript - 如何为数据表中的按钮分配 ID?

javascript - 在 ejs 模板中获取 url 参数

image - css 确定一个容器中的单个和多个图像