html2canvas截图功能

灰太狼 2022-05-23 10:53 425阅读 0赞
  1. // 截图
  2. screenshot(){
  3. let canvas2 = document.createElement("canvas");
  4. let region = $("#screenshot");//需要截图的那个div,并且需要加载完
  5. let w = parseInt(region.width());
  6. let h = parseInt(region.height());
  7. //将canvas画布放大若干倍,然后盛放在较小的容器内,就显得不模糊了
  8. canvas2.width = w * 2;
  9. canvas2.height = h * 2;
  10. //可以按照自己的需求,对context的参数修改,translate指的是偏移量
  11. let context = canvas2.getContext("2d");
  12. context.scale(2,2);
  13. context.mozImageSmoothingEnabled = false;//消除canvas文字锯齿,感觉没啥用
  14. context.webkitImageSmoothingEnabled = false;//消除canvas文字锯齿,感觉没啥用
  15. context.msImageSmoothingEnabled = false;//消除canvas文字锯齿,感觉没啥用
  16. context.imageSmoothingEnabled = false;//消除canvas文字锯齿,感觉没啥用
  17. html2canvas(region, {
  18. canvas: canvas2,
  19. useCORS: true,
  20. logging: true,
  21. taintTest: true,
  22. dpi: window.devicePixelRatio*2,
  23. }).then(canvas => {
  24. let imgUrl = canvas.toDataURL("image/png",1.0);//最终截图图片
  25. });
  26. },

这个例子绝对清晰,如果您的截图还不清晰的话,那就是css3的样式问题,特别注意,图片不清晰的话,要使用img标签,不要用设置背景图片,高宽度最好不要设置百分比。
有些人截图不全:那是因为截图区域超出可视窗口
有些人截图样式不显示:canvas对于一些css3样式不识别不能截下来,只能换方式

发表评论

表情:
评论列表 (有 0 条评论,425人围观)

还没有评论,来说两句吧...

相关阅读