Javascript 画布-无法获取图像数据

Javascript 画布-无法获取图像数据,javascript,internet-explorer,canvas,Javascript,Internet Explorer,Canvas,我试图用javascript将图像的图像数据绘制到画布中,但下面的脚本在ctx.getImageData处无声地失败。控制台中不显示任何错误消息 var image = new Image(); image.src = "https://www.example.com/7/44/35.png" image.width = 256; image.heigth = 256; var canvas = document.createElement("canvas"); canvas.width =

我试图用javascript将图像的图像数据绘制到画布中,但下面的脚本在ctx.getImageData处无声地失败。控制台中不显示任何错误消息

var image = new Image();
image.src = "https://www.example.com/7/44/35.png"
image.width = 256;
image.heigth = 256;

var canvas = document.createElement("canvas");
canvas.width = 256;
canvas.height = 256;

var ctx = canvas.getContext("2d");
ctx.drawImage(image, 0, 0, 256, 256);

var imageData = ctx.getImageData(0, 0, 256, 256);
console.log(imageData) //this is never called, no error is displayed in console
我做错了什么

编辑:
我不认为这是一个与CORS相关的问题,我正在图像源的同一个域上运行脚本,但仍然在无声地失败

进行了一些调整以使其正常工作:

使用image.crossOrigin=匿名 在使用drawImage和ctx.getImageData之前,请使用image.onload事件等待图像加载。 下面是一个例子:

var图像=新图像; image.crossOrigin=匿名; image.src=http://i.imgur.com/8B8ye29.jpg; image.width=400; image.heigth=400; var canvas=document.createElementcanvas; 画布宽度=400; 画布高度=400; var ctx=canvas.getContext2d; image.onload=函数{ ctx.drawImageimage,0,0,400,400; var imageData=ctx.getImageData0,040400; console.logimageData.height;
}可能是因为不允许跨源数据。好的,可能是这样,我将对此进行调查。我不认为这是与CORS相关的问题,我正在图像源的同一域上运行脚本,但仍然无法工作。你确定没人叫它吗?或者它被调用,但没有被记录?尝试向console.log添加一条消息,如console.logimageData,我使用PHP.net中的图像运行代码,我得到了跨源错误。