[英]how to resize Base64 image in javascript
我測試了這個軟件包: https : //preview.npmjs.com/package/resize-base64
它需要一個前端部分來制作Canvas元素..依此類推,我只需要在沒有前端的情況下進行這個過程
我使用react native,因此任何React / Native,node或native javascript的解決方案都是可以接受的。
它可能很晚,但希望能幫助其他人。
const sharp = require('sharp');
// original base64 image
const base64Image = "data:image/jpeg;base64,/9j/4QDsRXhpZg ... ... ... ";
// express route function
export default function (req, res, next) {
let parts = base64Image.split(';');
let mimType = parts[0].split(':')[1];
let imageData = parts[1].split(',')[1];
var img = new Buffer(imageData, 'base64');
sharp(img)
.resize(64, 64)
.toBuffer()
.then(resizedImageBuffer => {
let resizedImageData = resizedImageBuffer.toString('base64');
let resizedBase64 = `data:${mimType};base64,${resizedImageData}`;
res.send(resizedBase64);
})
.catch(error => {
// error handeling
res.send(error)
})
}
您必須按步驟執行此操作:
幾乎所有這些步驟都可以通過Sharp完成。 https://github.com/lovell/sharp此軟件包使用libvips
並且在大多數情況下明顯快於任何其他圖像縮放器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.