Javascript html2canvas 无法获取背景

标签 javascript css html2canvas

使用 Javascript 库 html2canvas 的一些问题。问题是 html2canvas 正在获取具有透明(有时是白色)背景的“div2”,我想在“div2”上包含正文背景(或在这个 div 后面)。

<div id="div2" style="width: 150px; height: 50px;"></div>


html2canvas(document.getElementById("div2"), {
            onrendered: function(canvas) {
                var photostring = canvas.toDataURL("image/png");
                console.log(photostring);
            }
        });

最佳答案

从逻辑上讲,渲染是从您选择的元素开始的。

所以不会得到背景,除非你选择“父元素”或“根元素”。

我有两个解决方案:

1 - 使用 Javascript/Jquery,您可以从 div#target 捕获 X 和 Y 位置 然后在 div#target 中按 X/Y 位置设置背景图像和背景位置

2 - 你捕获 <body>使用 html2canvas,然后使用 canvas/javascript api你从 div#target 按 X/Y 位置和宽度/高度裁剪图像,请参见示例:#242(注释) 注意:在这些变量中设置宽度/高度/x/y(参见示例):

var targetDiv = $("#target");
var sourceX = targetDiv.position().left;/*X position from div#target*/
var sourceY = targetDiv.position().top;/*Y position from div#target*/
var sourceWidth = targetDiv.width();/*clientWidth/offsetWidth from div#target*/
var sourceHeight = targetDiv.height();/*clientHeight/offsetHeight from div#target*/

在父/根元素中获取背景图像:

https://github.com/niklasvh/html2canvas/commit/281e6bbedf9f611846eba3af4d256eb97f608aa2

裁剪 Canvas

https://github.com/niklasvh/html2canvas/issues/242#issuecomment-20875688

关于Javascript html2canvas 无法获取背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461108/

相关文章:

javascript - 为什么 'this' 在使用 Promise 时在类方法内部未定义?

javascript - 使用 qzprint (jzebra) 时出现 IE 和未指定错误

javascript - 如何使用jspdf生成完整的pdf?

html - 与 html2canvas 和 nodejs 类似的解决方案

javascript - 如何从推送对象数组中的组件调用函数?

javascript - addEventListener 在 javascript 中不起作用

javascript - 如何检查数字是否介于两个值之间?

javascript - 单击显示部分

css - 显示表格在 IE7 中不起作用

html - 列中的 Bootstrap 图像大小调整