这篇文章主要为大家介绍了vue如何实现网页截图,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
目录

  1. 1、安装html2Canvas
  2. 2、在需要的vue组件中引入
  3. 3、编写一个截图按钮
  4. 4、调用函数toImage
  5. 总结

1、安装html2Canvas
npm install html2canvas --save

2、在需要的vue组件中引入

import html2canvas from "html2canvas";

3、编写一个截图按钮

<el-button class="button-dalod" size="mini" title="生成图片" @click="toImage()" icon="el-icon-download"></el-button>

4、调用函数toImage

  1. // 页面元素转图片
  2. toImage () {
  3. // 手动创建一个 canvas 标签
  4. const canvas = document.createElement("canvas")
  5. // 获取父标签,意思是这个标签内的 DOM 元素生成图片
  6. // imageTofile是给截图范围内的父级元素自定义的ref名称
  7. let canvasBox = this.$refs.imageTofile
  8. // 获取父级的宽高
  9. const width = parseInt(window.getComputedStyle(canvasBox).width)
  10. const height = parseInt(window.getComputedStyle(canvasBox).height)
  11. // 宽高 * 2 并放大 2 倍 是为了防止图片模糊
  12. canvas.width = width * 2
  13. canvas.height = height * 2
  14. canvas.style.width = width + 'px'
  15. canvas.style.height = height + 'px'
  16. const context = canvas.getContext("2d");
  17. context.scale(2, 2);
  18. const options = {
  19. backgroundColor: null,
  20. canvas: canvas,
  21. useCORS: true
  22. }
  23. html2canvas(canvasBox, options).then((canvas) => {
  24. // toDataURL 图片格式转成 base64
  25. let dataURL = canvas.toDataURL("image/png")
  26. console.log(dataURL)
  27. this.downloadImage(dataURL)
  28. })
  29. },
  30. //下载图片
  31. downloadImage(url) {
  32. // 如果是在网页中可以直接创建一个 a 标签直接下载
  33. let a = document.createElement('a')
  34. a.href = url
  35. a.download = '首页截图'
  36. a.click()
  37. },

别忘了给页面所在截图范围内的父级添加ref属性,方便canvas找到父级计算宽高从而截屏


这就是截图出来的效果:

总结

本篇文章就到这里了,希望能够给你带来帮助。

更多相关文章

  1. Android之TabHost
  2. android截图代码
  3. Android(安卓)屏幕截图 代码
  4. 为网站代码块pre标签增加一个复制代码按钮代码
  5. android截图代码
  6. Android中使用SAX解析XML
  7. Android之ExpandableListView
  8. android webview file标签点击弹出选择文件或拍照菜单
  9. Android(安卓)stuio在MainActivity中运行java的main方法

随机推荐

  1. 前端文件上传原理
  2. 通过Angular Factory过滤,切片,排序Javascr
  3. javascript添加两个文本框值,并在asp.net
  4. $ postLink的角度组件/指令运行得太早
  5. 如何在Sencha Touch中向模型添加自定义验
  6. js获取点击事件的位置,兼容主流浏览器
  7. JavaScript 基础回顾——对象
  8. AngularJS - 删除绑定以避免内存泄漏
  9. 调整ChartJS中的X轴步骤
  10. React组件的属性PropTypes