我正在将图像上传到AWS s3,并且在图像上传之前,我使用节点jimp调整了图像的大小, 所有功能都可以使用,但是当我上传透明图像然后Jimp调整其大小并将背景更改为黑色并希望调整原始图像的大小时。
这是jimp的代码
${response}
我已经尝试过此选项,但仍无法正常工作
Jimp.read(buf, (err, image) => {
if (err)
reject(err);
else {
image.resize(118, 66)
.quality(100)
.getBase64(Jimp.MIME_JPEG, (err, src) => {
if (err)
reject(err);
else
resolve(src);
});
}
});
有人对此有任何解决方案吗 预先感谢
答案 0 :(得分:1)
这是因为您正在使用JPEG作为缓冲区的Mimetype。
只需将 Jimp.MIME_JPEG 更改为 Jimp.MIME_PNG ,即可对您进行排序。
如下所示。
Jimp.read(buf, (err, image) => {
if (err)
reject(err);
else {
image.resize(118, 66)
.quality(100)
.getBase64(Jimp.MIME_PNG, (err, src) => {
if (err)
reject(err);
else
resolve(src);
});
}
});
答案 1 :(得分:1)
您应该更改背景颜色。
它只影响透明背景。
你这样做jimpImage = await jimpImage.background(0xFFFFFFFF)