Vue使用html2canvas将页面转化为图片

需求是微信端将页面截屏之后保存到本地,使用了html2canvas插件

install

npm install --save html2canvas

在所需页面引入

import html2canvas from "html2canvas"

use

<div ref="imageWrapper">
      <div class="success">
        <div class="img">
          <img class="img-icon" src="../assets/success.png"/>
          <p style="font-weight: 600; font-size: 18px">支付成功</p>
        </div>
      </div>
      <div class="success-detail">
        <el-row style="margin-top: 10px;">
          <el-col :span="5" class="col-left-suc">收款商家</el-col>
          <el-col :span="16" class="col-right">{{merchant}}</el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="5" class="col-left-suc">费用名称</el-col>
          <el-col :span="16" class="col-right">{{contName}}</el-col>
        </el-row>
        <el-row style="margin-top: 10px;">
          <el-col :span="5" class="col-left-suc">缴费金额</el-col>
          <el-col :span="16" class="col-right">{{chargePrice}}元</el-col>
        </el-row>
      </div>
    </div>
    <div class="button">
      <el-button style="width: 70%;" type="success" size="small" @click="toImage">生成截图</el-button>
    </div>

vue中用ref来指定你需要截屏的dom

toImage() {
        html2canvas(this.$refs.imageWrapper).then(canvas => {
          let dataURL = canvas.toDataURL("image/png");
          this.imgUrl = dataURL;
          if (this.imgUrl !== "") {
            this.dialogTableVisible = true;
          }
        });
      }

原文地址:https://www.cnblogs.com/zouwangblog/p/11140568.html

时间: 2024-10-15 06:39:49

Vue使用html2canvas将页面转化为图片的相关文章

vue的html2canvas将dom转化为图片时,腾讯云图片地址显示空白.

应用场景:做个投票活动,将参赛者的信息转化成图片截图分享.用户上传图片上传到腾讯云cos桶中,html2canvas只能转换本地资源的图片,涉及跨域的图片无法转换. 解决方法:通过nginx代理转发, 假设你的网站是   http://www.helloworld.com 把 https://dingzi-1258648408.cos.ap-chengdu.myqcloud.com/upload/f49a6da3-73ea-422a-9b63-7a3e522130e2.png 换成 http:/

将H5页面转化为图片

使用html2canvas插件,详情:http://html2canvas.hertzen.com/ 实例代码: html <div id="capture" style="padding: 10px; background: #f5da55"> <h4 style="color: #000; ">Hello world!</h4> </div> js html2canvas(document.qu

在Vue项目中使用html2canvas生成页面截图并上传

引入cnpm install html2canvas. html代码 <!-- 把需要生成截图的元素放在一个元素容器里,设置一个ref --> <div class="image_tofile" ref="imageTofile"> <!-- 这里放需要截图的元素,自定义组件元素也可以 --> </div> <!-- 如果需要展示截取的图片,给一个img标签 --> <img :src="h

基于html2canvas实现网页保存为图片及图片清晰度优化

本次技术调研来源于H5项目中的一个重要功能需求:实现微信长按网页保存为截图. 这里有个栗子(请用微信打开,长按图片即可保存):3分钟探索你的知识边界 将整个网页保存为图片是一个十分有趣的功能,常见于H5活动页的结尾页分享.以下则是项目中调研和踩坑的一些小结和汇总. 一.实现HTML页面保存为图片 1.1 已知可行方案 现有已知能够实现网页保存为图片的方案包括: 方案1:将DOM改写为canvas,然后利用canvas的toDataURL方法实现将DOM输出为包含图片展示的data URI 方案2

JS 使用 html2canvas 实现页面截图功能

html2canvas的官方文档地址:http://html2canvas.hertzen.com/ 实现原理:将需要截图的页面在canvas中进行重绘,这样将页面转换成图片的过程. 注意事项: 不支持iframe 不支持跨域图片 不支持flash 不支持transform.transition过渡.animation动画(备注:transform初始布局是可以的,但是不能参与动画类的操作) html代码实现 <div id="capture" style="paddi

解决-使用html2canvas截取页面时,页面的div背景图无法截取并跨域

今天在研究html2canvas截取页面的时候,发现截取后的图片没有把应该截取元素的背景图片截掉,背景图片空白.此时谷歌浏览器控制台报Failed to load resource: net::ERR_CACHE_MISS 和图片跨域的错误. 使用了useCORS: true后还是无法解决这个问题.于是就自己想办法,既然不同域名下的图片会有跨域问题,那么将图片转成base64后会不会还有跨域问题.说干就干! 首先在网上找到了如何将网络图片转成base64的方法(搬砖使我快乐), getBase6

【PDF单页转化为图片输出 注意:英文或图片类的PDF可转化,中文抛异常】

1 public static void main(String[] args) throws IOException 2 { 3 /** 4 * PDF单页转化为图片输出 注意:英文或图片类的PDF可转化,中文抛异常 5 */ 6 PDDocument doc; 7 try 8 { 9 String inputFile = "F:\\java56班\\eclipse-SDK-4.2-win32\\iText入门基础教程[2].pdf"; 10 String imagepath = &

将布局转化为图片

需求:将某一部分布局转化为图片 其实很简单,就几行代码 view.setDrawingCacheEnabled(true); view.buildDrawingCache(); Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache());//创建一个DrawingCache的拷贝,因为DrawingCache得到的位图在禁用后会被回收 view.setDrawingCacheEnabled(false);//禁用DrawingCahce

织梦根目录下面404页面,主页能正常运行404页面,切换至栏目页404页面内的图片不能正常显示,解决

在根目录下面的404页面,设置图片路径应为相对路径, 例如:.page404 .cont404{width:745px; height:380px; background:url(/404/404.gif) left top no-repeat; position:absolute; left:50%; top:50%; margin-left:-372px; margin-top:-190px;} 加入绝对路径:background:url(/404/404.gif) www.vpincha.