我正在寻找一种方法来提取图像的所有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);
})
答案 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);
})