【问题标题】:Cross-origin image loading and manipulating跨域图像加载和操作
【发布时间】:2011-12-01 01:23:53
【问题描述】:

我写了一段 javascript,存储在域 A 中,它使用 CORS 使我能够将其嵌入到域 B 的页面上,但仍然从域 A 读取数据。我还希望它从域 A 获取图像并使用 html 画布操作像素数据。通常,canvas.getImageData 会引发安全异常,因为我不允许读取像素数据。 Chrome 允许我这样做(并且支持 Image.crossOrigin 属性)。但是,Firefox 和其他各种浏览器却没有。

是否有一种解决方法可以在从域 B 加载的脚本中从域 A 加载和操作图像的像素数据?

【问题讨论】:

  • 只是嵌入图像并直接从域 b 读取数据是一种选择吗?

标签: javascript image firefox google-chrome cors


【解决方案1】:

不,您只需要等待其他浏览器支持 crossorigin 属性即可。对于 Firefox,这意味着等待大约一个月。对于其他人,谁知道...

虽然实际上...您可以使用跨站点 XHR(支持更好)来获取图像数据,从中构建一个 data: URI,将图像的 src 设置为该 data: URI,然后绘制它图像到画布。这可能有效。

【讨论】:

    猜你喜欢
    • 2011-10-31
    • 1970-01-01
    • 2011-06-30
    • 2012-04-14
    • 2014-06-25
    • 1970-01-01
    • 2013-08-02
    • 2013-12-08
    • 2015-07-02
    相关资源
    最近更新 更多