我看到三个地方表明我想要一个 crossOrigin 图像:使用 true 作为 createjs 的第三个参数(文档说已弃用)。LoadQueue,设置 loadItem.crossOrigin 属性(分配"匿名"或使用 LoadItem.set({ .. crossOrigin:true .. }),以及 LoadQueue getResult 返回的图像的 crossOrigin 属性(似乎总是空)。我找不到避免受污染的画布的设置组合。诀窍是什么?
从我的测试来看,CORS 工作正常。
下面是使用 CDN 中的 0.6.2 的快速示例。
var queue = new createjs.LoadQueue(false);
queue.on("complete", handleComplete);
queue.loadFile({src:"http://playpen.createjs.com/CORS/awesome.jpg", crossOrigin:true, id:"image"});
function handleComplete(event) {
var img = queue.getResult("image");
console.log(img.crossOrigin); // anonymous
}
您可以在此演示中看到它的工作原理,其中图像被添加到舞台上的位图中,然后添加了一个单击侦听器:
http://jsfiddle.net/od727g2q/
下面是在 LoadQueue 构造函数上使用(已弃用但仍然有效)参数的变体: http://jsfiddle.net/od727g2q/1/
只是为了理智,这里有一个使用 GitHub 中最新 NEXT 的版本:http://jsfiddle.net/od727g2q/2/
干杯。