0

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

我从模块画布中遇到了这个getImageData()方法,在我的例子中,它返回一个 10x10 的数组,它只返回一个零。下面是我现在如何提取数据。任何想法,谢谢

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

1 回答 1

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);
})
于 2017-03-25T05:21:36.363 回答