当前位置: 首页 > news >正文

Javascript:使用canvas将二维码矩阵转化为图片

矩阵是由0和1组成的数组。
0-白色
1-黑色

/*** * @param matrix Array* @param size Int* @param padding Int* @param transparentBackground Boolean* @returns {string}*/
function createQRCodeCanvas(matrix, size, padding, transparentBackground) {size = size || 3padding = padding === undefined ? 3 : paddingconst width = Math.sqrt(matrix.length)const canvasWith = width * size + padding * 2const canvas = document.createElement('canvas')canvas.width = canvasWithcanvas.height = canvasWithconst ctx = canvas.getContext('2d')if(!transparentBackground) {ctx.fillStyle = 'rgb(255,255,255)'ctx.fillRect(0, 0, canvasWith, canvasWith)}ctx.fillStyle = 'rgb(0,0,0)'for (let y = 0; y < width; y++) {for (let x = 0; x < width; x++) {const point = y * width + xif (matrix[point] === 1) {ctx.fillRect(padding + x * size, padding + y * size, size, size)}}}return canvas.toDataURL()
}

在这里插入图片描述


http://www.mrgr.cn/news/52191.html

相关文章:

  • SpringSecurity 整合 JWT
  • 手机怎么玩GTA5?GameViewer远程助你手机畅玩GTA5侠盗飞车
  • SCAS介绍
  • 深入浅出:如何实现TikTok无人直播的全流程指南
  • 论文复现以及运行问题(论文:NUNO:一种非均匀数据下参数偏微分方程学习的通用框架)
  • 群晖前面加了雷池WAF,安装失败,然后无法识别出用户真实访问IP
  • 【数据结构与算法】栈和队列(上)
  • 接口测试(全)
  • 如何将 ECharts 图表插入 HTML Canvas
  • AirServer免费终身版本Win5.6.3+Mac7.2.7
  • WebGl 使用缓冲区对象绘制多个点
  • I2S协议:【图文讲解】
  • 计算生物学与生物信息学漫谈-1-测序一路走来
  • DynamicExpresso
  • 在 C# 中通过 JsonConvert.DeserializeObject 将时间戳转换为 DateTime
  • 无团队无资金,洗发水三月热销2600万?
  • 个人用Python复习笔记(待补充)
  • ESP32-C3实现定时器的启停(Arduino IDE)
  • C2. Adjust The Presentation (Hard Version)
  • 【ComfyUI Flux Lora】Flux 开启人物时尚摄影!拒绝胶质感!肤质表现更加细腻且真实!AWPortraitFL