页面保存为图片,生成自己的二维码名片

//生成二维码名片
 <div class="qrcode">
    <!-- <div class="qrcode" id="qrcode"></div> -->
     <div class="qrcode1">
       <img :src="res" alt="" />
     </div>
     <div class="qrcode-tip">(长按二维码保存联系方式到手机通讯录)</div>
   </div>
 //保存为图片
<div class="btn" @click="download">保存</div>

import html2canvas from "html2canvas";
import QRCode from "qrcode";

//点击保存 生成图片且下载下载
const download = () => {
  show1.value = false;
  setTimeout(() => {
    let canvasID = document.getElementById("index1"); // 获取要生成图片的页面元素
    html2canvas(canvasID, {
      scale: 6, //数值越大生成的图片越清晰
      backgroundColor: null, //解决生成的图片有白边
    }).then((canvas) => {
      let dataURL = canvas.toDataURL("image/png");
      // uploadFile(dataURL);
      // saveFile(dataURL, "图片名称");
      var url = canvas.toDataURL("image/png"); //得到图片的base64编码数据'
      var a = document.createElement("a"); // 生成一个a元素
      var event = new MouseEvent("click", {
        bubbles: true,
        cancelable: true,
        view: window,
      }); // 创建一个单击事件
      a.download = "photo"; // 设置图片名称
      a.href = url; // 将生成的URL设置为a.href属性
      a.dispatchEvent(event); // 触发a的单击事件
    });
  }, 500);
};
//生成二维码名片
const res = ref("");
// 生成图片并保存
const generateQR = async () => {
  try {
    var info =
      "BEGIN:VCARD\n" +
      "FN:" +
      name.value +
      "\n" +
      "ORG:" +
      company.value +
      "\n" +
      "TITLE:" +
      title.value +
      "\n" +
      "WORK:" +
      address.value +
      "\n" +
      "TEL:" +
      tel.value +
      "\n" +
      "EMAIL:" +
      email.value +
      "\n" +
      // "URL:" +
      // web.value +
      // "\n" +
      "NOTE:" +
      desc.value +
      "\n" +
      "END:VCARD";
    res.value = await QRCode.toDataURL(info);
  } catch (err) {
    console.error(err);
  }
};
generateQR();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值