我有一个onload函数,如下所示:
canvas = document.getElementById('canvas')
context = canvas.getContext('2d');
var imageData;
var buffer;
var binary;
var uint = [];
img.onload = function () {
canvas.getContext('2d').drawImage(img, 0, 0, canvas.width, canvas.height);
imageData = context.getImageData(0, 0, canvas.width, canvas.height);
buffer = imageData.data.buffer;
binary = new Uint8Array(buffer);
for (var i = 0; i < binary.length; i++) {
uint.push(binary[i]);
}
}
现在,我的uint是具有所有二进制值的数组。
我正在声明使用以下uint数组的函数:
var request = new somefunction({
image : {
height: canvas.height,
data: uint}
});
当我检查我的Chrome控制台时,uint会保留我在onload函数中声明的所有值。但是当我尝试访问image.data时,它是一个空数组。
我在这里做什么错了?