【发布时间】:2016-01-19 18:53:51
【问题描述】:
好的,所以我正在尝试在我的机器上拍摄图像并使用画布和一些 JS 对其进行操作...但是,我不断收到错误消息:
“来自 'file://' 的图像已被跨域资源共享策略阻止加载:无效响应。因此不允许访问 'null' 源。”
我想如果我不修改原始图像,而只修改图像数据的副本,我就可以了。但由于某种原因,它仍然不起作用。有谁知道我应该怎么做?这是我目前的代码:
$(document).ready(function() {
var canv = document.getElementById("img_canvas");
var ctx = canv.getContext("2d");
var img = new Image();
img.crossOrigin = "Anonymous";
img.src = "img/meAndTheOcean.jpg";
$(img).load(function() {
ctx.drawImage(img, 0, 0);
var img_data = ctx.getImageData(0,0,canv.width, canv.height);
var pixels = img_data.data;
var npixels = img_data.width * img_data.height;
var cpyPixels = ctx.createImageData(img_data.width, img_data.height);
for (var i = 0; i < npixels; i++){
cpyPixels[i*4] = 255 - pixels[i*4];
cpyPixels[i*4 + 1] = 255 - pixels[i*4 + 1];
cpyPixels[i*4 + 2] = 255 - pixels[i*4 + 2];
}
ctx.putImageData(cpyPixels,0,0);
});
});
【问题讨论】:
标签: javascript html animation canvas pixel