栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

canvas.toDataUrl返回“ data :;” 当canvas.width / height太大时

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

canvas.toDataUrl返回“ data :;” 当canvas.width / height太大时

Canvas元素的最大大小在浏览器实现中会有所不同。您可以在此Q /
A中
找到这些最大尺寸的良好列表。

它们对导出方法也有限制。在我的Chrome浏览器中,

toDataURL
返回的结果与宽度
data:;
大约为 16380 * 16380的
画布的返回值相同,而我的Firefox的返回值
NS_ERROR_FAILURE
大约为 11150 * 11150
。其他浏览器可能根据自己的实现而具有不同的值。

因此,如果您真的想通过画布,则必须将画布的大小限制为这些最大区域。

现在,如果您可以在服务器端进行转换,则可以使用它。蜡染被称为是很好的SVG
UA,并且应该能够正确转换SVG,除非在SVG

<foreignObject>
元素内还可以渲染HTML 。

在这种情况下,最好的方法是使用像 phantomjs 这样的无头浏览器来截取渲染页面的真实屏幕截图。

另一种方法是将较大的SVG绘制到较小的画布上,然后在服务器端或通过字节操作合并生成的PNG图像(可能需要一些额外的工作)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/574637.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号