0

我正在尝试使用 Pixastic 对图像进行去饱和处理。我从官方 网站下载了脚本并检查了唯一需要的东西(核心、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 服务器上开发。

关于我做错了什么的任何想法?谢谢你的帮助 !:)

4

2 回答 2

1

代码中图像的 URL 必须与您用于提供页面的 URL 相匹配。我会在代码中使用相对 URL。如果图像来自不同的域,则提供图像的服务器必须支持 CORS ( http://en.wikipedia.org/wiki/Cross-origin_resource_sharing ) 才能正常工作。

于 2013-05-10T17:38:30.590 回答
0

发现问题:

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

于 2013-05-10T17:38:42.000 回答