使用原生javaScript绘制带图片的二维码---js
使用链接生成二维码主要是使用qr.js或者其他,把链接转化为二维码的形式,在使用canvas时需要设置画布的尺寸,生成的颜色。
<div class="qr_code">
<img src="" id="imgcode" />
<canvas ref="canvas" hidden></canvas>
<div> js function createQr () { // 生成带图片二维码
const qrcode = qr('http://baidu.com') // 转化链接
const canvas = this.$refs.canvas
const ctx = canvas.getContext('2d')
const size = 128 / qrcode.moduleCount //128设置的二维码尺寸
const scale = window.devicePixelRatio / getPixelRatio(ctx)
canvas.height = canvas.width = 128e * scale
ctx.scale(scale, scale)
qrcode.modules.forEach((row, rdx) => {
row.forEach((cell, cdx) => {
ctx.fillStyle = cell ? '#000' : '#fff' // 设置二维码颜色和背景颜色
var w = (Math.ceil((cdx + 1) * size) - Math.floor(cdx * size))
ctx.fillRect(Math.round(cdx * size), Math.round(rdx * size), w, w)
})
})
var image = document.createElement('img')
var imgcode = document.getElementById('imgcode')
image.src = 'http://baidu/logo.png' //二维码中间图标
image.onload = () => {
var dwidth = 128 * 0.2 // 设置图片大小
var dx = (128 - dwidth) / 2
var dheight = image.height / image.width * dwidth
var dy = (this.size - dheight) / 2
image.width = dwidth
image.height = dheight
ctx.drawImage(image, dx, dy, dwidth, dheight)
imgcode.src = canvas.toDataURL()
}
},
getPixelRatio (ctx) {
return ctx.webkitBackingStorePixelRatio || ctx.backingStorePixelRatio || 1
}
以上是实现生成带二维码的图片代码,可以直接使用。
使用原生javaScript绘制带图片的二维码---js的更多相关文章
- Flutter生成带图片的二维码
现在的APP中经常需要用自己的信息生成一个二维码给别人扫,下面就介绍一下Flutter中怎么生成一个带图片的二维码. 需要用到的插件qr_flutter 首先在 pubspec.yaml 文件中添加以 ...
- Android使用ZXing生成带图片的二维码
效果图如下: 制作过程很简单的就是在原始的二维码图片上添加一个logn图标,代码的注释写得很详细,也就不给大家啰嗦了 package com.example.day44_02_qrcodewithlo ...
- Android生成带图片的二维码
一.问题描述 在开发中需要将信息转换为二维码存储并要求带有公司的logo,我们知道Google的Zxing开源项目就很好的帮助我们实现条形码.二维码的生成和解析,但带有logo的官网并没有提供demo ...
- 使用zxing生成彩色或带图片的二维码
<!-- https://mvnrepository.com/artifact/com.google.zxing/core --> <dependency> <group ...
- C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(二)
1.使用ZXint.Net生成带logo的二维码 /// <summary> /// 生成带Logo的二维码 /// </summary> /// <param name ...
- (转)ZXing生成二维码和带logo的二维码,模仿微信生成二维码效果
场景:移动支付需要对二维码的生成与部署有所了解,掌握目前主流的二维码生成技术. 1 ZXing 生成二维码 首先说下,QRCode是日本人开发的,ZXing是google开发,barcode4j也是老 ...
- jQuery-qrcode.js 生成带Logo 的二维码
引入文件 jQuery-qrcode.js 地址:https://blog-static.cnblogs.com/files/kitty-blog/jquery-qrcode.js https:// ...
- 带logo图片或不带logo图片的二维码生成与解析,亲测成功
最近公司需要实现二维码功能,本人经过一顿百度,终于实现了,因有3个功能:不带logo图片.带logo图片.解析二维码,篇幅较长,请耐心读之,直接复制粘贴即可. 前提:myeclipse10:jar包: ...
- phpqrcode生成带logo的二维码图片及带文字的二维码图片
<?php require_once "./phpqrcode/phpqrcode.php"; /** * 这样就可以生成二维码了,实际上在png这个方法里还有几个参数需要使 ...
随机推荐
- java中的无穷大和无穷小
double型和float型都可以如下表示无穷大和无穷小 import static java.lang.Double.NEGATIVE_INFINITY;import static java.lan ...
- vue事件双向绑定
事件 案例: vue的事件绑定原理:改变图片的背景颜色问题来实现这个框架的使用方法, new Vue({ el:"", data:{}, methord:{}, computed: ...
- 2018.8.3 python中的set集合及深浅拷贝
一.字符串和列表的相互转化 之前写到想把xx类型的数据转化成yy类型的数据,直接yy(xx)就可以了,但是字符串和列表的转化比较特殊,相互之间的转化要通过join()和split()来实现. 例如: ...
- .NET项目中实现多工程文件共用的方法
一处开发,多处同步编辑使用,并且发布时各个项目均可独立 一.直接编辑项目工程文件 .csproj 具体实现为:编辑 .csproj 文件,在<ItemGroup>中添加新的 <Con ...
- AXI4-Stream协议总结与分析
一.协议介绍 1.AXI4_Stream:适用于高速数据流,去掉了地址项,允许无限制的数据突发传输.除了总线时钟和总线复位,其他的接口信号都是以字母T开头. 2.信号接口描述: (1).ACLK--- ...
- AtCoder Grand Contest 038
目录 \(\bf A - 01 \ Matrix\) \(\bf B- Sorting \ a \ Segment\) \(\bf C-LCMs\) \(\bf D-Unique \ Path\) 这 ...
- Redis过期--淘汰机制的解析和内存占用过高的解决方案
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! Red ...
- centos下docker离线部署
安装准备 Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化. 环境要求 Centos 安装包下载地址 安装包下载以下 ...
- P3521 [POI2011]ROT-Tree Rotations(线段树合并)
一句话题意(不用我改了.....):给一棵n(1≤n≤200000个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少. ......这题输入很神烦呐... 给你一棵二叉树的dfs序 ...
- css3 preserve-3d 的理解 注意IOS上的兼容
css3 preserve-3d 的理解 <pre><!DOCTYPE html><html lang="en"> <head> & ...