当使用 bas64 字符串作为参数调用时,node gm (imagemagick) 似乎无法使用
node gm (imagemagick) seems like not working with when invoked with bas64 string as argument
当图像不是路径并且是 base 64 编码图像时,我没有得到任何输出图像。
const image = 'base64 encoded string';
gm(image, ['jpeg'])
.resize(72, 72)
.strip()
.write('./aks.png', function (err) {
if (!err) console.log('done');
});
您需要将 Base64 字符串转换为 Buffer:
var gm = require("gm");
var fs = require("fs");
var image = fs.readFileSync("input.png", "base64");
gm(Buffer.from(image, "base64"))
.resize(72, 72)
.strip()
.write("output.png", function(error) {
if (error) return console.error(error);
console.log("Done!");
});
const imageBuff = Buffer.from(image, 'base64');
gm(imageBuff)
.resize(72, 72)
.strip()
.write('../curber/newimage.png', function (err) {
if (!err) console.log('done');
else
console.log(err.log, err.stack);
});
当图像不是路径并且是 base 64 编码图像时,我没有得到任何输出图像。
const image = 'base64 encoded string';
gm(image, ['jpeg'])
.resize(72, 72)
.strip()
.write('./aks.png', function (err) {
if (!err) console.log('done');
});
您需要将 Base64 字符串转换为 Buffer:
var gm = require("gm");
var fs = require("fs");
var image = fs.readFileSync("input.png", "base64");
gm(Buffer.from(image, "base64"))
.resize(72, 72)
.strip()
.write("output.png", function(error) {
if (error) return console.error(error);
console.log("Done!");
});
const imageBuff = Buffer.from(image, 'base64');
gm(imageBuff)
.resize(72, 72)
.strip()
.write('../curber/newimage.png', function (err) {
if (!err) console.log('done');
else
console.log(err.log, err.stack);
});