使用节点中的Imagemagick调整图像大小

时间:2016-03-21 17:09:13

标签: node.js imagemagick

我正在使用nodejs中的imagemagick模块,而且我在某些时候陷入困境。我试图调整图片大小。我需要base64部分调整大小的图像。我怎样才能找回它?我尝试下面的代码,但这个创建空图像。

 im.resize({
        srcPath: image,
        width: 750,
        height: 280
      }, function(err, stdout, stderr) {
        if (err) {
          return next(err);
        }
        console.log('resized store-medium.jpg to fit within 750x280px');
        var mediumImage = new Buffer(stdout).toString('base64');

1 个答案:

答案 0 :(得分:0)

使用dstPath参数并读取生成的图像,然后转换为Base64。

示例:

var dstImage = image.replace(/\.\w+$/, '-resized.');
im.resize({
    srcPath: image,
    dstPath: dstImage, // <--- destiny image
    width: 750,
    height: 280
}, function (err, stdout, stderr) {
    if (err) {
        return next(err);
    }
    console.log('resized store-medium.jpg to fit within 750x280px');
    fs.readFile(dstImage, function (err, data) {
        next(null, data.toString('base64'));
    });
});