功能

  • 二维码可内嵌图片
  • 可下载二维码
  • 功能集合成Vue组件

使用技术

  • Vue、qrcodejs2、html2canvas

直接上代码

<template><div class="qr" ref="pic"><img v-if="imgUrl" class="my-image" :src="imgUrl" alt=""><div ref="qrcode"></div></div>
</template>
<script>
import QRCode from "qrcodejs2";
import html2canvas from 'html2canvas';
export default {name: 'my-qrcode',props: {imgUrl: {type: String,default: ''},height: {type: Number,default: 100},width: {type: Number,default: 100},text: {type: String,default: '测试文字'}},mounted () {},watch: {text: {handler () {this.$nextTick(() => {this.load()})},immediate: true}},methods: {load () {// const text = params + "动态解析内容";// console.log(text, 'text');if (this.qrCode) {//单例 如果需要重复点击生成携带不同text内容的二维码,则需要通过这种方式//先清除 然后在使用makeCode重新更换 text内容//不然重复点击后下载的内容是最后一次点击的text,this.qrCode.clear();this.qrCode.makeCode(this.text);} else {this.qrCode = new QRCode(this.$refs.qrcode, {width: this.width,height: this.height,text: this.text,colorDark: "#000",colorLight: "#fff",});}},convertToImage (container) {// 2. 传入节点原始宽高const _width = container.offsetWidth;const _height = container.offsetHeight;// 3. html2canvas配置项const ops = {_width,_height,useCORS: true,allowTaint: false,};return html2canvas(container, ops).then(canvas => {// 4. 返回图片的二进制数据return canvas.toDataURL("image/png");});},// 下载二维码 给父组件调用download (name) {// 调用函数获取图片路径let picDom = this.$refs.picthis.convertToImage(picDom).then(res => {// 将图片下载到本地var x = new XMLHttpRequest();x.open("GET", res, true);x.responseType = 'blob';x.onload = function () {var url = window.URL.createObjectURL(x.response)var a = document.createElement('a');a.href = urla.download = name || '自定义图片名'a.click()}x.send();})}}
}
</script>
<style  scoped>
.qr {position: relative;display: inline-block;
}
.my-image {position: absolute;left: 0;top: 0;right: 0;bottom: 0;width: 25px;height: 25px;background: #FFF;padding: 5px;margin: auto;
}
</style>

二维码 内嵌图片,下载二维码相关推荐

  1. 网页生成二维码 把二维码变成图片 下载二维码

    目录 网页生成二维码 1 将二维码变成图片 2 1效果:二维码变成了图片 2 下载二维码 2 1全部代码 3 网页生成二维码 导入生成二维码需要的js文件(https://github.com/lrs ...

  2. SpringBoot Zxing _ Java 生成二维码(可内嵌图片)

    前提 jdk 要求:1.8:会 SpringBoot.Maven: 以下代码可以直接复制粘贴到项目中,可以直接使用~ 一.pom 准备 <?xml version="1.0" ...

  3. 内嵌式js微信扫码登录及自定义样式

    关于微信扫码登录网站的功能介绍,请阅读官方文档[网站应用微信登录开发指南] 根据官方文档我们知道微信扫码登录有两种方式 一种是跳转到一个大黑屏二维码界面进行扫码登录: (参见博客:PHP实现跳转式微信 ...

  4. Markdown内嵌图片的解决方法

    Markdown内嵌图片的解决方法 文章目录 Markdown内嵌图片的解决方法 问题与解决方案 一.实现功能 二.脚本制作 1.利用文件选择框选择文件或者从剪贴板读取图像 2.将图片转为Base64 ...

  5. JavaMail(四)——发送HTML格式、内嵌图片、带附件的邮件

    代码如下: package com.company;import javax.activation.DataHandler; import javax.activation.FileDataSourc ...

  6. java发送内嵌图片邮件

    前言: 博客系统中需要邮件服务的功能,以前写过类似的功能,不过功能太简单了,仅仅是发送文本内容,现在尝试一下发送内嵌图片邮件! 准备工作: 请参考:http://www.cnblogs.com/huj ...

  7. WPS内嵌图片怎样使用Java获取图片?

    wps表格中,将图片如图设置为内嵌图片格式时,Java后端的POI无法读取图片,有其他的解决办法吗?(图片设置为浮动图片时可正常读取)

  8. Java发送内嵌图片的邮件

    使用Java发送邮件时,既需要发送html文档又需要在邮件中内嵌图片(非附件形式),这里封装了一个类使用JavaMail组织的邮件发送,支持多张图片发送,并指定图片位置.注意img标签src要如下写& ...

  9. 响应式高端网站模板源码图库素材资源下载平台源码

    首发好看的响应式高端网站模板源码图库素材 资源下载平台源码(可运营)可用于做娱乐网资源网,功能非常的齐全无任何加密也无任何后门!响应式高端网站模板源码图库素材 资源下载平台源码 页面很美观,堪比大型网 ...

最新文章

  1. 顶会论文9篇,又斩获百度奖学金!哈工大NLP“新生代”正崭露头角
  2. column命令+pagesize命令+linesize命令+ttitle命令+btitle命令+break命令/comput命令
  3. [device]/proc/devices and /dev/
  4. silverlight 安全性错误
  5. poj hdu Tian Ji -- The Horse Racing 贪心
  6. 实验吧之NSCTF misc250
  7. python两个字典合并,两个list合并
  8. oracle 表空间异常增长过快解决方法
  9. 更新QTableView中的进度条状态
  10. 用户、组和权限命令练习
  11. 全栈创建一个小程序(mpvue+nodejs+mysql)---(一)--本地开发
  12. 微信小程序 图片显示不出来的问题 100%管用
  13. web技术基础---网站设计说明书
  14. 什么是计算机科学中的“本体论”
  15. php设置excel列宽,excel列宽在哪里设置
  16. 什么从什么写短句_什么在什么,在什么,什么仿写句子,怎样写
  17. python系列笔记--耗子(巨细)
  18. mac下安装iso软件
  19. 获取一个月有多少天,生成日历
  20. webrtc-audio-processing pulseaudio最新版本1.0交叉编译到ARM

热门文章

  1. java审批待办页面跳转设计,OA工作流引擎设计(纯java开发,不需要额外任何插件引擎)...
  2. java中prepend的用法_append(),prepend(),after(),before()
  3. 初识do while语句
  4. emui 4.1 android 6.0,华为荣耀V8 EMUI5.0回退EMUI4.1教程 荣耀V8安卓7.0降级6.0方法
  5. Qt入门教程【高级控件篇】QTreeWidget树形小部件
  6. eclipse读取mysql数据乱码,eclipse 连接mysql 中文乱码
  7. 苹果清除缓存_苹果手机卡顿别着急换,调整这5个功能,iPhone 6S还可以再战两年...
  8. 为虚构的游戏世界设计文字
  9. Java中的Math类相关方法整理
  10. 如何使用Visual Studio Code进行Java编程