在我的扩展中,我想操作一些图像。所以我正在尝试使用画布读取他们的原始像素。问题是,如果我在 chrome 代码中执行(img
是内容文档中的图像):
var src = document.createElement("canvas");
src.width = img.naturalWidth;
src.height = img.naturalHeight;
var srcCtx = src.getContext("2d");
在最后一行它说这getContext
不是一个函数。另一方面,如果我运行(请注意第一行不同!):
var src = img.ownerDocument.createElement("canvas");
src.width = img.naturalWidth;
src.height = img.naturalHeight;
var srcCtx = src.getContext("2d");
srcCtx.drawImage(img, 0, 0);
var src_data = srcCtx.getImageData(0, 0, src.width, src.height);
没有错误返回,但src_data
出来是空的。我想这可能与从 chrome 代码访问网页内容有关。有什么建议吗?