基于JS实现二维码名片生成的示例代码

基于JS实现二维码名片生成的示例代码

简介

本文将介绍如何使用JavaScript编写代码来生成二维码名片。这样的应用程序可以方便地将个人或商业信息分享给其他人。一些示例将帮助您更好地理解如何使用JavaScript来生成二维码名片。

准备工作

在开始编写JavaScript代码之前,您需要在网页中引入QRCode.js库。通过在HTML文件中引入QRCode.js库,您可以轻松编写代码来生成二维码名片。

<!DOCTYPE html>
<html>
  <head>
    <title>二维码名片生成器</title>
  </head>
  <body>
    <h1>二维码名片生成器</h1>
    <input type="text" id="qrtext" placeholder="请输入您的名片信息">
    <button onclick="generateQR()">生成二维码</button>
    <div id="qrcode"></div>

    <script src="https://cdn.bootcdn.net/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
    <script src="app.js"></script>
  </body>
</html>

在上面的代码中,我们引入了QRCode.js库。以下是我们代码中的核心JavaScript代码。

function generateQR() {
  const qrtext = document.getElementById('qrtext').value.trim();
  if (!qrtext) {
    alert('请输入有效信息');
    return;
  }
  var qrcode = new QRCode(document.getElementById("qrcode"), {
    text: qrtext,
    width: 200,
    height: 200,
    colorDark : "#000000",
    colorLight : "#ffffff",
    correctLevel : QRCode.CorrectLevel.H
  });
}

看一下最上面的代码,我们为页面添加了一个输入框和一个生成二维码的按钮。然后,我们在页面中添加了一个div元素,它是用于将生成的二维码显示出来的。

在JavaScript函数generateQR()中,我们首先获取了用户输入的信息,并对其进行了一些值检查。接着,我们创建了一个QRCode对象,并传递了必要的参数。最后,我们将二维码显示到页面上。

示例说明

让我们看下面两个示例:

示例1: 生成文本二维码名片

以下是一个示例,它演示了如何为纯文本信息创建二维码名片。

<!DOCTYPE html>
<html>
  <head>
    <title>文本二维码名片生成器</title>
  </head>
  <body>
    <h1>文本二维码名片生成器</h1>
    <input type="text" id="qrtext" placeholder="请输入您的名片信息">
    <button onclick="generateQR()">生成二维码</button>
    <div id="qrcode"></div>

    <script src="https://cdn.bootcdn.net/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
    <script>
      function generateQR() {
        const qrtext = document.getElementById('qrtext').value.trim();
        if (!qrtext) {
          alert('请输入有效信息');
          return;
        }
        var qrcode = new QRCode(document.getElementById("qrcode"), {
          text: qrtext,
          width: 200,
          height: 200,
          colorDark : "#000000",
          colorLight : "#ffffff",
          correctLevel : QRCode.CorrectLevel.H
        });
      }
    </script>
  </body>
</html>

在这个示例中,我们有一个页面,用户可以在该页面中输入他们的名片信息。当他们单击“生成二维码”按钮时,JavaScript将创建一个QRCode对象,并将其作为二维码显示。

示例2: 生成带有Logo的二维码名片

以下示例演示了如何添加带有公司文本和Logo的二维码名片。

<!DOCTYPE html>
<html>
  <head>
    <title>带有Logo的二维码名片生成器</title>
  </head>
  <body>
    <h1>带有Logo的二维码名片生成器</h1>
    <input type="text" id="qrtext" placeholder="请输入您的名片信息">
    <input type="file" id="logoImage" accept="image/*" onchange="loadFile(event)">
    <button onclick="generateQR()">生成二维码</button>
    <div id="qrcode"></div>

    <script src="https://cdn.bootcdn.net/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
    <script>
      let imgData;

      function generateQR() {
        const qrtext = document.getElementById('qrtext').value.trim();
        if (!qrtext) {
          alert('请输入有效信息');
          return;
        }
        var canvas = document.createElement("canvas");

        QRCode.toCanvas(canvas, qrtext, {
          width: 200,
          height: 200,
          colorDark : "#000000",
          colorLight : "#ffffff",
          correctLevel : QRCode.CorrectLevel.H
        }, function(error) {
          if (error) console.error(error);
          let ctx = canvas.getContext('2d');
          if (imgData) {
            const img = new Image();
            img.src = imgData;
            img.onload = function () {
              const imgWidth = 40,
                    imgHeight = 40;
              let x = (canvas.width - imgWidth) / 2,
                  y = (canvas.height - imgHeight) / 2;

              ctx.drawImage(this, x, y, imgWidth, imgHeight);
              document.getElementById("qrcode").innerHTML = "<img src='"+canvas.toDataURL()+"'>";
            };
          } else {
            document.getElementById("qrcode").innerHTML = "<img src='"+canvas.toDataURL()+"'>";
          }       
        });
      }

      function loadFile(event) {
        const reader = new FileReader();
        reader.onload = function() {
          imgData = reader.result;
        }
        reader.readAsDataURL(event.target.files[0]);
      }
    </script>
  </body>
</html>

在这个示例中,我们提供了一个上传文件的区域,允许用户上传公司Logo。我们在JavaScript代码中添加了一个新的函数loadFile(),用于检索选定的图像文件的数据URL。当用户单击“生成QR码”按钮时,JavaScript使用QRCode.js库创建Canvas,并在该Canvas中创建QR码。如果用户已经上传了Logo,则将Logo添加到Canvas中。最后,我们将Canvas转换为图像,并将其显示在HTML div元素中,以便将其展示给用户。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于JS实现二维码名片生成的示例代码 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • Dreamweaver超级技巧之文字特效

    下面是Dreamweaver超级技巧之文字特效的完整攻略: 前言 Dreamweaver是一款非常流行的网页设计工具,通过它可以快速地创建网站。其中,文字特效是一项非常常见的需求。本文将详细讲解Dreamweaver超级技巧之文字特效的完整攻略。 攻略 步骤一:创建一个新文档 首先打开Dreamweaver,然后创建一个新文档。 步骤二:添加一段文本 在页面…

    css 2023年6月9日
    00
  • jQuery动画与特效详解

    针对“jQuery动画与特效详解”的攻略,我来给你做一个详细的讲解。 jQuery动画与特效详解 jQuery动画 jQuery提供了多种动画方法,包括隐藏和显示元素、淡入淡出、移动、旋转和缩放等。下面是几个常用的动画方法: 隐藏和显示元素 通过 hide() 和 show() 方法,可以将元素进行隐藏和显示。 // 隐藏元素 $(selector).hid…

    css 2023年6月11日
    00
  • 详解css盒子模型之内边距padding及简写

    详解CSS盒子模型之内边距padding及简写 什么是盒子模型 在CSS中,我们把HTML中的元素看作是一个个方块,这些方块就是所谓的盒子,而CSS盒子模型就是指这些盒子的属性和排列方式。 盒子模型包含四个部分:内容(content)、内边距(padding)、边框(border)、外边距(margin)。 其中,本文主要介绍内边距(padding)及其简写…

    css 2023年6月9日
    00
  • 30分钟快速掌握Bootstrap框架

    30分钟快速掌握Bootstrap框架攻略 Bootstrap是一款开源的前端框架,它提供了许多响应式设计、现成的UI组件、JavaScript插件等功能,使得我们能够快速地构建具有响应式特性的网站或Web应用程序。接下来我们将讲解如何在短短的30分钟内快速掌握Bootstrap框架。 步骤1:引入Bootstrap文件 首先,我们需要将Bootstrap的…

    css 2023年6月10日
    00
  • 兼容IE6的网页最小最大宽度和最小最大高度css写法

    以下是“兼容IE6的网页最小最大宽度和最小最大高度css写法”的完整攻略: 针对最小最大宽度的CSS写法: 在IE6中,我们通常使用属性名为width的方式来定义宽度,但是它不能有效兼容最小最大宽度的情况。针对这种情况,我们可以结合IE6下的html元素的min-width和max-width属性来进行定义,如下所示: /*最小宽度*/ body{ min-…

    css 2023年6月10日
    00
  • 图文详解Element-UI中自定义修改el-table样式

    我会详细讲解如何自定义修改el-table样式。 1. 准备工作 在开始前,请确保你已经安装了element-ui,并且已经能够正常使用。同时,也需要了解一些基础的css知识。 2. 定义CSS样式 首先,我们需要定义一些CSS样式来修改el-table的外观。以下是一些常用的CSS样式: /* 设置表格的边框 */ .el-table__body { bo…

    css 2023年6月10日
    00
  • css自定义属性和聚光灯效果的实现

    CSS 自定义属性 CSS 自定义属性是一种新的 CSS 特性,可以让开发者定义自己的 CSS 属性,以便在整个文档中重复使用。这种特性可以提高代码的可读性和可维护性,同时也可以减少代码的重复性。下面是一些关于 CSS 自定义属性的示例说明。 定义自定义属性 可以使用 — 开头的名称来定义自定义属性。例如: :root { –main-color: #f…

    css 2023年5月18日
    00
  • 如何设计制作自适应网页

    设计制作自适应网页是一项非常重要的技能,因为不同设备有不同的屏幕尺寸和分辨率,我们的网页需要适配它们,以便在不同设备上展示良好,提供更好的用户体验。下面是一些关于如何设计制作自适应网页的攻略: 1. 使用响应式布局 使用响应式布局是制作自适应网页的一种常见方法。这种方法可以根据用户的设备来调整网页的布局,使其适合不同的屏幕大小和设备类型。 在实现响应式布局时…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部