我正在制作一个在画布上组合2个图像的应用程序,&让你分享它。当从本地Web服务器运行时,它在浏览器中工作正常,但在cordova中运行时则不行。所有外来映像都来自远程Web服务器的JSON文件中SVG的dataURI。
流程是这样的:
canvas.toDataURL()
将完整图像保存到远程服务器所有步骤都适用于本地测试网络服务器,我已经确认这两个图像都是dataURI(来自摄像头和远程JSON SVG)。
我在SVG&上使用image.crossOrigin = '';
将相机图像放到画布上,即使我认为我不需要。
当我尝试在发送之前加载最终画布的dataURI以显示给用户时,我在adb logcat
中收到此错误:
Error: SECURITY_ERR: DOM Exception 18 at file:///android_asset/www/lib/ionic/js/ionic.bundle.min.js:114
当您尝试访问由外来源图像而非dataURI组成的画布图像时,应该会出现此错误,对吧?我在这里错了吗?
我在Android 4.4.2上使用Cordova 3.4.1-0.1.0
更新
另外,奇怪的是,如果我注释掉应该使用SVG dataURI绘制图像的部分,它的工作正常。我仔细检查了它,它确实是一个data:image/svg+xml;base64,...
URI。
答案 0 :(得分:1)
我发现this表明SVG dataURI会污染画布。啊。
所以,基本上,我不需要为SVG使用dataURI(比如附加到DOM的内联SVG),或者我需要使用栅格格式。在这种情况下,我会遗憾地使用PNG。