我想使用(pica library)进行图像调整大小,但是它要求我输入Uint8Array并且我只有一个带有
的Image对象src = 'data:image/jpeg;base64,/9j/4AAQ...'
我不知道怎么把它变成Uint8Array,有什么想法吗? 感谢
答案 0 :(得分:2)
您需要将图像应用到画布并使用getImageData()
。
以下是一个如何完成的简单示例:
//create canvas, set base64 test img
var canvas = document.createElement('canvas'),
ctx = canvas.getContext('2d'),
base64 = 'data:image/jpeg;base64...'; //base64 string
//size canvas
canvas.width = 34,
canvas.height = 34;
//create image, set src to base64 and onload draw to canvas
var image = new Image();
image.onload = (function(canvas, ctx){
return function(){
ctx.drawImage(this, 0, 0);
//now we can finally get a Uint8ClampedArray
var imageData = ctx.getImageData(0, 0, 34, 34);
console.log(imageData.data);
};
})(canvas, ctx);
image.src = base64;