在画布上将本地图像转换为灰度不适用于Chrome

时间:2012-11-19 07:19:29

标签: google-chrome canvas

我想通过使用Kinetic.js将图像转换为画布上的灰度。所以我写下面的代码,     var stage = new Kinetic.Stage({       容器:'容器',       宽度:1000,       身高:500     });

var layer = new Kinetic.Layer();
var image = new Image();
image.onload = function() {
  var img = new Kinetic.Image({
    x: 100,
    y: 30,
    image: image
  });

  layer.add(img1);
  stage.add(layer);

  img.applyFilter({
      filter: Kinetic.Filters.Grayscale,
      callback: function() {
        layer.draw();
      }
    });
};
image.src = "image.jpg";

“image.jpg”是本地文件,此代码适用于Firefox和IE,但不适用于Chrome。 此外,getImageData()在Chrome上不适用于本地图像。但w3schools表示Chrome支持getImageData()。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试使用选项--allow-file-access-from-file打开Chrome。它应该允许从file:///页面访问file:///,这似乎就是你的例子。