作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 html2canvas 截取屏幕截图:
var body = document.getElementById("body")
$(body).html2canvas({onrendered: function( canvas ) {
var urlData = canvas.toDataURL("image/jpeg");
}});
我的 body 背景是透明的,因此 urlData 因为 jpeg 具有黑色背景(不像浏览器中的白色)。
在这种情况下,如何修复此行为并使背景颜色变为白色?
最佳答案
我修改了临时:_html2canvas.Util.isTransparent from
_html2canvas.Util.isTransparent = function(backgroundColor) {
return (backgroundColor === "transparent" || backgroundColor === "rgba(0, 0, 0, 0)");
};
至
_html2canvas.Util.isTransparent = function(backgroundColor) {
return (backgroundColor === "transparent" ||
backgroundColor === "rgba(0, 0, 0, 0)" ||
backgroundColor === undefined);
};
之后,使用背景参数集调用 html2canvas 就足够了:
html2canvas(screenshotElement, {
background: '#FFFFFF',
onrendered: function (canvas) {
// ...
}
});
对我来说......将未定义的背景视为透明是有意义的。
关于html2canvas - 如何在html2canvas中将透明颜色变成白色而不是黑色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14584946/
我是一名优秀的程序员,十分优秀!