从图像中提取rgba数据

时间:2017-03-25 04:03:30

标签: node.js image node-canvas

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

我从模块画布中看到了getImageData()方法,在我的情况下,它只返回一个只有0的数组。以下是我现在提取数据的方法。任何想法,谢谢

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);
})

1 个答案:

答案 0 :(得分:1)

正如我在最后评论中提到的,我认为根本问题是fs.readFile正在返回原始数据,这对于画布来说是没有用的。 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);
})