我正在尝试使用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服务器进行开发。
对我做错了什么的想法? 谢谢你的帮助 ! :)
答案 0 :(得分:1)
代码中图片的网址必须与您用来提供网页的网址相匹配。我会在代码中使用相对URL。如果图像来自不同的域,那么提供图像的服务器必须支持CORS(http://en.wikipedia.org/wiki/Cross-origin_resource_sharing)才能生效。
答案 1 :(得分:0)
发现问题:
我不得不在浏览器地址栏中使用127.0.0.1而不是localhost。如果有人知道确切的原因,请随时编辑。