javascript - Html2Canvas 截图清晰度

标签 javascript html html5-canvas

使用html2canvas来截取屏幕截图。该屏幕截图已转换为图像并附在电子邮件中。

这些屏幕截图包括 highcharts。有时x轴和y轴显示有一些阴影效果。我怎样才能避免它?

var tempcanvas=document.createElement('canvas');
tempcanvas.width=2000;
tempcanvas.height=980;
var context=tempcanvas.getContext('2d');
context.imageSmoothingQuality = "High";

context.drawImage(canvas,0,0,1000,750);
var link=tempcanvas.toDataURL('image/png',1);
$scope.alert.message = link;

var blobBin = atob(link.split(',')[1]);
var array = [];
for(var i = 0; i < blobBin.length; i++) {
    array.push(blobBin.charCodeAt(i));
}
$scope.file=new Blob([new Uint8Array(array)], {type: 'image/png'});

enter image description here

最佳答案

希望这对你有帮助

当您使用 html2canvas 时,所需要做的就是设置 dpi 或缩放选项,并且生成的 Canvas 应该具有您选择的 dpi/缩放比例。

function myRenderFunction(canvas) {
  destination.appendChild(canvas);
}

// Get source element and destination div.
var element = document.getElementById('element');
var destination = document.getElementById('destination');

// Normal html2canvas rendering.
html2canvas(element, {
    onrendered: myRenderFunction
});

// With dpi: 144 (scale: 1.5).
html2canvas(element, {
  dpi: 144,
    onrendered: myRenderFunction
});

// With scale: 2 (dpi: 192).
html2canvas(element, {
  scale: 2,
    onrendered: myRenderFunction
});

关于javascript - Html2Canvas 截图清晰度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50505276/

相关文章:

javascript - 如何拦截 <button> 标签上的点击并停止提交?

html - 设置 HTML5 Canvas 的高度和宽度并使内容在比例尺内

javascript - 如何计算点击可拖动 Canvas 元素的位置?

javascript - IE 顽固地使用下拉菜单

javascript - 从日期字符串中减去小时

html - 如何在 lotus notes 8.5 中发送 html 电子邮件

html - 将边框直接放在图像的边缘

javascript - div 上的奇怪填充

javascript - 您如何通过 HTML 通知与主页进行通信?