JavaScript - Pixastic - 错误:此操作不安全

时间:2013-05-10 17:30:39

标签: javascript image canvas pixastic

我正在尝试使用Pixastic去饱和图像。我从官方website下载了脚本,并检查了所需的唯一内容(核心,jquery插件和去饱和效果)。

我尝试使用他们在演示中显示的相同代码,除了我将其包含在jQuery的.ready函数中,但这不应该导致问题:

(function($) {
    $(document).ready(function() {
        var img = new Image();
        img.onload = function() {
            // document.body.appendChild(img); // Ialso tried putting this here.
            Pixastic.process(img, "desaturate", {average : false});
        };
        document.body.appendChild(img);
        img.src = "http://127.0.0.1/some_path/Wallpapers/ (10).jpg"; // This URL does point to the image file.
    });
})(window.jQuery);

但我总是得到同样的错误:此操作不安全。 该错误来自第374行的Pixastic js文件:

prepareData : function(params, getCopy) {
            var ctx = params.canvas.getContext("2d");
            var rect = params.options.rect;
            var dataDesc = ctx.getImageData(rect.left, rect.top, rect.width, rect.height); // 374
            var data = dataDesc.data;
            if (!getCopy) params.canvasData = dataDesc;
            return data;
        },

我正在使用本地wamp服务器进行开发。

对我做错了什么的想法? 谢谢你的帮助 ! :)

2 个答案:

答案 0 :(得分:1)

代码中图片的网址必须与您用来提供网页的网址相匹配。我会在代码中使用相对URL。如果图像来自不同的域,那么提供图像的服务器必须支持CORS(http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)才能生效。

答案 1 :(得分:0)

发现问题:

我不得不在浏览器地址栏中使用127.0.0.1而不是localhost。如果有人知道确切的原因,请随时编辑。