我是 Construct 2 的开发人员,这是一个适用于 Windows 的 HTML5 游戏编辑器。它位于http://www.scirra.com。
最近我一直在尝试添加一个功能,该功能将通过在画布上转换图像来修改图像。这非常简单——在画布上绘制一个图像并调用getImageData()
以获取像素。
当用户在我们的应用程序中单击“预览”时,所有文件都被转储到磁盘上的临时文件中,并启动浏览器来显示它。上传到服务器不是预览的选项 - 有些游戏是兆字节大。
然而,大多数浏览器完全阻止您使用从磁盘加载getImageData()
的任何图像的像素。正如 MDN 在其对 file:// 访问策略的描述中所建议的那样,我已尝试将所有必要的图像文件放在子目录中。那也不行!
Chrome 的 --allow-file-access-from-files 标志修复了它。但是,我需要支持所有主流浏览器。至少 Internet Explorer 和 Firefox 是否有类似的解决方法?我对 Internet Explorer 一无所知,我真的希望在 Firefox 中有一些不涉及手动转到 about:config 的东西,否则我们将被大量的支持请求淹没,询问“为什么它在 Firefox 中不起作用?!”。
另外,为什么这个安全策略是必要的?!?它似乎太过分了,让像我们这样的应用程序真的很难编写。
任何帮助表示赞赏。