使用pixastic-jquery去饱和

时间:2012-02-24 13:03:28

标签: jquery

我使用pixastic jquery插件,我收到此错误:“无法从画布获取图像数据,因为画布已被跨源数据污染。”

我开始知道这个错误来自图像不在同一个域但是...我的图像在本地文件系统中

$(document).ready(function() {

    $("#phone1").load(function() {

         $("#phone1").pixastic("desaturate");
   });

});

2 个答案:

答案 0 :(得分:1)

我还在Chrome上发现了其他跨域ajax加载命令的“问题”。这是Google Chrome中一些增强的安全设置,我还没有真正设法确定。

所以也许这并不算作解决方案,但我发现通过像MAMP,LAMP或WAMP(所有简单的apache安装)这样的本地网络服务器提供开发页面解决了这个问题(或者将开发放在在线服务器上) )

答案 1 :(得分:0)

今天遇到同样的问题。

有两种方法:

  1. (不安全)更改Pixastic的代码以使用此技巧:dataImg.crossOrigin = ''
  2. (安全)在图片来源上启用CORS headers
  3. 如果您可以控制图像的来源并且它位于另一个域/子域,我建议使用解决方案2.如果源是其他人并且真的信任,则可以使用1。

    否则你运气不好。