使用 createJS 时如何避免被污染的 canvas?

How to avoid a tainted canvas when using createJS?

我看到三个地方表明我想要一个 crossOrigin 图像:对 createjs.LoadQueue 的第三个参数(文档说已弃用)使用 true,设置 loadItem.crossOrigin 属性 (分配 "Anonymous" 或使用 LoadItem.set({ .. crossOrigin:true .. }),以及由一个 LoadQueue getResult。我找不到避免污染的设置组合 canvas。有什么窍门?

根据我的测试,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/

干杯。