我正在一个节点+后端快递。Base64图像调整器nodejs
我正在从API接收base64图像字符串,并将其存储到MongoDB中。存储之前,我想减少图像大小(缩放)。我试过JIMP,但它没有读取base64输入。
任何人都可以请建议任何好的节点模块,它接受base64图像,缩放它,并返回一个新的base64字符串。
感谢
我正在一个节点+后端快递。Base64图像调整器nodejs
我正在从API接收base64图像字符串,并将其存储到MongoDB中。存储之前,我想减少图像大小(缩放)。我试过JIMP,但它没有读取base64输入。
任何人都可以请建议任何好的节点模块,它接受base64图像,缩放它,并返回一个新的base64字符串。
感谢
....some logic....
let max_width = 371;
let max_height = 280;
var image = new Image();
image.src = YOUR_BASE64_STRING;
let image_width = image.width;
let image_height = image.height;
let ratio = 1;
if(image_width > max_length || image_height > max_length){ //need to scale
ratio = max_length/image_width;
if(image_height > image_width){
ratio = max_length/image_height;
}
}
var canvas = document.createElement("canvas");
var ctx = canvas.getContext("2d");
canvas.width = image_width * ratio; // target width
canvas.height = image_height * ratio; // target height
ctx.drawImage(image,
0, 0, image.width, image.height,
0, 0, canvas.width, canvas.height
);
var RESIZED_BASE64_STRING = canvas.toDataURL();
....some logic....
什么是max_length? – jdmdevdotnet
max_length应该是image_height或image_width,较长的一个 –
你的问题似乎是题外话,[因为它要求我们建议还是找一个软件库(https://stackoverflow.com/help/on-topic)。我建议看看[软件推荐](https://softwarerecs.stackexchange.com)。 –
可以试试,https://www.npmjs.com/package/resize-base64 –
你最终使用什么更新? – jdmdevdotnet