javascript – HTML2Canvas将溢出的内容转换为图像
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – HTML2Canvas将溢出的内容转换为图像,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1790字,纯文字阅读大概需要3分钟。
内容图文
我有一个非常溢出的div.它基本上包括一个大的组织结构图.我想要做的是用html2canvas库导出div的整个内容而不是可见部分,但到目前为止我无法实现它.下面的代码片段不会呈现完整的内容.有没有办法实现它?
function export(){
html2canvas( [ document.getElementById('diagram') ], {
onrendered: function(canvas) {
var dataUrl = canvas.toDataURL();
window.open(dataUrl, "toDataURL() image", "width=800, height=800");
//Canvas2Image.saveAsPNG(canvas);
}
});
}
我正在使用BasicPrimitives库来生成组织结构图.它需要一个div并插入所有元素.由于我的图表中等大,它从容器中溢出.
Xhtml代码如下:
<rich:panel style="float: left; width: 100%;">
<div style="float: left; height:600px; margin-left: 1%; width: 19%; border-style: dotted; border-width:1px;">
Some irrelevant content
</div>
<div id="diagram" class='diagram' style="float: right; height:600px; width: 59%; border-style: dotted; border-width:1px;">
This is the div all charts are dynamically inserted
</div>
<div style="float: left; height:600px; margin-left: 1%; width: 19%; border-style: dotted; border-width:1px;">
Some more irrelevant content
</div>
</rich:panel>
解决方法:
我不知道html2canvas中是否有一个简单的选项来执行此操作(即将所有溢出设置为可见的选项),但是当您调用导出函数时,一种迂回的方式可能是将图元素的overflow属性的父元素设置为可见,然后在html2canvas’onrendered回调上再次将其设置为隐藏,以便用户有最短的时间来感知它:
function export(){
document.getElementById('diagram').parentNode.style.overflow = 'visible'; //might need to do this to grandparent nodes as well, possibly.
html2canvas( [ document.getElementById('diagram') ], {
onrendered: function(canvas) {
document.getElementById('diagram').parentNode.style.overflow = 'hidden';
var dataUrl = canvas.toDataURL();
window.open(dataUrl, "toDataURL() image", "width=800, height=800");
//Canvas2Image.saveAsPNG(canvas);
}
});
}
内容总结
以上是互联网集市为您收集整理的javascript – HTML2Canvas将溢出的内容转换为图像全部内容,希望文章能够帮你解决javascript – HTML2Canvas将溢出的内容转换为图像所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。