从图像中提取 rgba 数据

Extract rgba data from image

我正在寻找一种方法来提取图像的所有 rgba 数据。

我遇到了来自模块 canvas 的 getImageData() 方法,对于我的 10x10,它 returns 是一个只有零的数组。下面是我现在如何提取数据。任何想法,谢谢

fs.readFile(__dirname + '/image.jpg', function(err, data) {
    if (err) throw err;
    var img = new Canvas(10, 10)   
    img.src = data;
    var c = img.getContext('2d');
    var imgData = c.getImageData(0, 0, img.width, img.height);
})

正如我在最后的评论中提到的,我认为根本问题是 fs.readFile 返回原始数据,这对 canvas' src 属性没有用。我认为下面的方法可行,但我承认我还没有测试过。

fs.readFile(__dirname + '/image.jpg', function(err, data) {
    if (err) throw err;
    var img = new Canvas(10, 10)
   img.src = 'data:image/jpeg;base64,'+ data.toString('base64');
   var c = img.getContext('2d');
   var imgData = c.getImageData(0, 0, img.width, img.height);
})