精华内容
下载资源
问答
  • Springboot生成二维码

    千次阅读 2019-01-28 16:18:28
    随着科技的发展,二维码也紧跟发展,平常使用二维码测试时一般都会使用草料二维码生成,但当需要自己生成二维码给别人扫时,问题就出现了,二维码生成的底层到底是什么,不禁开始陷入思考。  这里我给大家唠唠用...

            随着科技的发展,二维码也紧跟发展,平常使用二维码测试时一般都会使用草料二维码生成,但当需要自己生成二维码给别人扫时,问题就出现了,二维码生成的底层到底是什么,不禁开始陷入思考。

           这里我给大家唠唠用zxing做的二维码生成

          首先贴一张二维码生成后的图

          第一步ONE,先导包

    用maven工程的将以下代码放到maven中生成maven依赖包,我的依赖都是从maven线上仓库找来的,直接引到pom中下载即可

    <!-- https://mvnrepository.com/artifact/com.google.zxing/core -->
        <dependency>
          <groupId>com.google.zxing</groupId>
          <artifactId>core</artifactId>
          <version>3.3.0</version>
        </dependency>
    <!-- https://mvnrepository.com/artifact/com.google.zxing/javase -->
        <dependency>
          <groupId>com.google.zxing</groupId>
          <artifactId>javase</artifactId>
          <version>3.3.0</version>
        </dependency>

    第二步TWO,不知道大家的习惯是从web层开始写还是从service层开始写,我习惯从web层开始写,不过 。。这都没关系啦

    我先上web层代码

     @RequestMapping(value = "createQrCode")
      public String createQrCode(){
        String qrUrl = "https://mp.csdn.net/postedit/86678133";//扫描二维码跳转的链接
        String note = "我的二维码";//二维码下方展示的字
        File logoFile = new File("图片中的logo路径");//logo图片路径
        File codeFile = new File("生成后的图片存放地址");//生成后图片的输出地址
        return qrCodeService.drawLogoQRCode(logoFile, codeFile, qrUrl, note);
      }

    这里来写service逻辑层

     public String drawLogoQRCode(File logoFile, File codeFile, String qrUrl, String note) {//图片文件   二维码储存地址  网页路径     二维码说明
        try {
         MultiFormatWriter multiFormatWriter = new MultiFormatWriter();
         // 参数顺序分别为:编码内容,编码类型,生成图片宽度,生成图片高度,设置参数
         BitMatrix bm = multiFormatWriter.encode(qrUrl, BarcodeFormat.QR_CODE, WIDTH, HEIGHT, hints);
         BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
    
         // 开始利用二维码数据创建Bitmap图片,分别设为黑(0xFFFFFFFF)白(0xFF000000)两色
         for (int x = 0; x < WIDTH; x++) {
          for (int y = 0; y < HEIGHT; y++) {
           image.setRGB(x, y, bm.get(x, y) ? QRCOLOR : BGWHITE);
          }
         }
         int width = image.getWidth();
         int height = image.getHeight();
         if (Objects.nonNull(logoFile) && logoFile.exists()) {
          // 构建绘图对象
          Graphics2D g = image.createGraphics();
          // 读取Logo图片
          BufferedImage logo = ImageIO.read(logoFile);
          // 开始绘制logo图片
          g.drawImage(logo, width * 2 / 5, height * 2 / 5, width * 2 / 10, height * 2 / 10, null);
          g.dispose();
          logo.flush();
         }
         // 自定义文本描述
         if (!note.isEmpty()) {
          // 新的图片,把带logo的二维码下面加上文字
          BufferedImage outImage = new BufferedImage(400, 445, BufferedImage.TYPE_4BYTE_ABGR);
          Graphics2D outg = outImage.createGraphics();
          // 画二维码到新的面板
          outg.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null);
          // 画文字到新的面板
          outg.setColor(Color.BLACK);
          outg.setFont(new Font("楷体", Font.BOLD, 30)); // 字体、字型、字号
          int strWidth = outg.getFontMetrics().stringWidth(note);
          if (strWidth > 399) {
           // //长度过长就截取前面部分
           // 长度过长就换行
            String note1 = note.substring(0, note.length() / 2);
            String note2 = note.substring(note.length() / 2, note.length());
            int strWidth1 = outg.getFontMetrics().stringWidth(note1);
            int strWidth2 = outg.getFontMetrics().stringWidth(note2);
            outg.drawString(note1, 200 - strWidth1 / 2, height + (outImage.getHeight() - height) / 2 + 12);
            BufferedImage outImage2 = new BufferedImage(400, 485, BufferedImage.TYPE_4BYTE_ABGR);
            Graphics2D outg2 = outImage2.createGraphics();
            outg2.drawImage(outImage, 0, 0, outImage.getWidth(), outImage.getHeight(), null);
            outg2.setColor(Color.BLACK);
            outg2.setFont(new Font("宋体", Font.BOLD, 30)); // 字体、字型、字号
            outg2.drawString(note2, 200 - strWidth2 / 2,outImage.getHeight() + (outImage2.getHeight() - outImage.getHeight()) / 2 + 5);
            outg2.dispose();
            outImage2.flush();
            outImage = outImage2;
          } else {
           outg.drawString(note, 200 - strWidth / 2, height + (outImage.getHeight() - height) / 2 + 12); // 画文字
          }
          outg.dispose();
          outImage.flush();
          image = outImage;
         }
            image.flush();
            ImageIO.write(image, "png", codeFile); // TODO
            return "成功";
          } catch (Exception e) {
           e.printStackTrace();
           return "失败";
          }
       }

    最后运行,生成的二维码就在你上面配的 File codeFile = new File("生成后的图片存放地址");中填写的路径中找。。。

    展开全文
  • 两种情况下生成二维码一致。只是在引入二维码js的时候不太一样 思路: 1.引入qrcode.js(下载地址http://davidshimjs.github.io/qrcodejs/) 2.获取需要生成二维码的DOM节点 3.在获取到的节点上设置二维码显示的大小...

    两种情况下生成二维码一致。只是在引入二维码js的时候不太一样

    思路:

    1.引入qrcode.js(下载地址http://davidshimjs.github.io/qrcodejs/)

    2.获取需要生成二维码的DOM节点

    3.在获取到的节点上设置二维码显示的大小等信息

    4.获取生成二维码所需的数据(也就是把什么数据生成二维码)

    5.生成二维码


    1.ionic项目中生成二维码:

         1.在assets文件夹里面引入qrcode.js。一定要放在assets文件夹中。

         2.在ts里面声明QRCode。特别注意,在使用QRCode方法时在ionic中如果使用了懒加载一定要将QRCode的声明放在懒加载注入IonicPage前面。否则报错。

         3.在index中引入qrcode.js

    declare var QRCode;
    @IonicPage({
    
    })
       

    3.生成二维码:

    ionViewDidEnter() {
        var qrcode_c = document.getElementById("qrcode_c");//获取生成二维码的节点
        if(qrcode_c){
            var thisURL = "http://www.cnblogs.com/yisheng163/p/4472687.html";//生成二维码所需数据
            var qrcode = new QRCode(qrcode_c, { //设置二维码显示的大小等信息
                width : 60,
                height : 60
            });
            qrcode.makeCode(thisURL);//生成二维码
        }
    }
    html:

    <div id='qrcode_c' style='background-color:pink;width:100px;padding:6px;'></div>  
    2.普通页面生成二维码js

    正常引入qrcode.js

    [javascript] 

    var qrcode_c = document.getElementById("qrcode_c");  
    if(qrcode_c){  
        var thisURL = document.URL;    
        var qrcode = new QRCode(qrcode_c, {  
            width : 60,  
            height : 60  
        });  
        qrcode.makeCode(thisURL);  
    }  
    以上方法生成的二维码据说qrcode是通过canvas生成二维码的,不支持canvas的浏览器没法用
    3.jquery插件生成二维码:
    参照:http://www.jq22.com/jquery-info294

    将jquery.qrcode.min.js和jquery添加到您的网页中

    1
    2
    <script src="jquery.min.js"></script>
    <script type="text/javascript" src="jquery.qrcode.min.js"></script>

    然后创建一个DOM元素去包含生成qr码。

    1
    <div id="qrcode"></div>

    然后你在此容器中的添加qrcode

    1
    2
    3
    4
    5
    <script>
        jQuery(function(){
        jQuery('#qrcode').qrcode("http://www.jq22.com");
    })
    </script>

    就这么简单,您想要的二维码就生成了。


    感谢网友  提供的内容

    进阶用法

    指定二维码的生成方式:

    可以在调用函数的同时输入想要的二维码生成方式(table/canvas)。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //使用table生成
    jQuery('#qrcode').qrcode({
        render: "table",
        text: "http://www.jq22.com"
    });
     
    //使用canvas生成
    jQuery('#qrcode').qrcode({
        render: "canvas",
        text: "http://www.jq22.com"
    });

    指定生成二维码的大小:

    可以在调用函数的同时输入想要生成二维码的宽度和高度即可指定生成的二维码的大小。

    1
    2
    3
    4
    5
    6
    7
    //生成100*100(宽度100,高度100)的二维码
    jQuery('#qrcode').qrcode({
        render: "canvas"//也可以替换为table
        width: 100,
        height: 100,
        text: "http://www.jq22.com"
    });

    指定生成二维码的色彩样式:

    可以在调用函数的同时输入想要生成二维码的前景色和背景色即可指定生成的二维码的色彩样式。

    1
    2
    3
    4
    5
    6
    7
    //生成前景色为红色背景色为白色的二维码
    jQuery('#qrcode').qrcode({
        render: "canvas"//也可以替换为table
        foreground: "#C00",
        background: "#FFF",
        text: "http://www.jq22.com"
    });

    中文ULR生成方法:

    1
    jQuery("#output").qrcode(encodeURI("http://中文中文"));//使用encodeURI进行转码



    展开全文
  • 使用框架 springboot 自己系统生成二维码,到前端网站,以及APP扫码登录流程,业务流程讲解梳理。也为自己做记录。 一、生成二维码 string content参数表示 我要把一个什么字符串生成二维码 如:http:www.baidu.com ...

     

    前言

     使用框架  springboot  自己系统生成二维码,到前端网站,以及APP扫码登录流程,业务流程讲解梳理。也为自己做记录。


    一、生成二维码

    string content 参数表示    我要把一个什么字符串生成二维码  如:http:www.baidu.com  或者 uuid   任意字符串

    pom.xml
            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>core</artifactId>
                <version>3.3.0</version>
            </dependency>
            <dependency>
                <groupId>com.google.zxing</groupId>
                <artifactId>javase</artifactId>
                <version>3.3.0</version>
            </dependency>
    
    
    引入方法
    
    import com.google.api.client.util.Base64;
    import com.google.zxing.BarcodeFormat;
    import com.google.zxing.EncodeHintType;
    import com.google.zxing.MultiFormatWriter;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
    
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.io.ByteArrayOutputStream;
    import java.util.Hashtable;
    
    /**
    * 根据传入参数获取二维码
    **/
    public class CreateTwoCode {
        public static String createQrCode(String content) throws Exception {
            try (ByteArrayOutputStream out = new ByteArrayOutputStream()) {
                Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
                hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
                hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
                hints.put(EncodeHintType.MARGIN, 1);
                BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, 400, 400, hints);
                int width = bitMatrix.getWidth();
                int height = bitMatrix.getHeight();
                BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
                for (int x = 0; x < width; x++) {
                    for (int y = 0; y < height; y++) {
                        image.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);
                    }
                }
                ImageIO.write(image, "JPG", out);
                return Base64.encodeBase64String(out.toByteArray());
            }
        }
    }

    二、业务流程和代码逻辑

    1. 后端生成二维码,生成二维码得规则可以是 随机得uuid,生成完二维码(图片得base64信息 ->上面提供得方法是生成二维码之后转为base64字符串)之后存储到redis   (这里存储reids得  uuid是key 和 过期时间 预留出 value 后面有用),并设置过期时间。返回生成得二维码得base64 图片信息。

    2.前端网页调用生成二维码接口,展示到界面。

    3.后端提供查询接口  判断二维码是否过期接口和登录成功得接口  ,网页端间隔时间循环调用   查看是否过期。过期添加遮罩层提示二维码过期 点击刷新操作。

    4.APP端扫描二维码(搜 zxing )读取到得信息 uuid,调用后台接口:验证二维码是否有效-或者已经被使用得逻辑在 第五步 。二维码,会出现多个手机同时扫描一个二维码得测试 .

    5.APP 通过第四步返回 ok  提示  确认登录。调用后台接口 。这里存在得业务逻辑:APP能扫描 就表示用户已经在app登录了, 后台逻辑: 接收参数包括:(uuid  ,用户登录 token)   通过uuid 从reids里拿出 然后将用户token放入value值中(这里,第四步可以通过这个value是否存在值判断 有没有被使用。)

    6.网页端间隔时间循环调用接口 :返回成功 获取到用户token。后端逻辑: 通过uuid查询value中的值  然后返回。

    完成。


    总结

    整套后端代码:我这边得逻辑是存在 A,B两个网页 和 A,B两个APP  公用得 之间调整和判断其实也是根据二维码得生成规则来的 可能对大家有不适合。有参考私聊吧。


    提示:可以自己调整逻辑,上面只是举例 中间得业务逻辑和可能遇到得情况处理 。

    展开全文
  • js生成二维码

    万次阅读 多人点赞 2021-02-27 10:21:21
    js生成二维码一、一个简单的示例 前段时间项目中需要开发扫描二维码查看信息的功能,在网上查了一些资料,把用过的方法进行总结需要导入一个qrcode的js 插件。 一、一个简单的示例 如下:(仅供参考) <%-- ...

    前段时间项目中需要开发扫描二维码查看信息的功能,在网上查了一些资料,把用过的方法进行总结需要导入一个qrcode的js 插件


    插件链接: qrcode.js下载地址,点击即可下载,不需C币.

    一、一个简单的示例

    如下:(仅供参考)

    <%--
      Created by IntelliJ IDEA.
      User: ASUS
      author:xumz
      Date: 2021/2/27
      Time: 10:33
      搬运请备注
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <html>
    <head>
        <script charset='utf-8' type='text/javascript' src='js/jquery-1.11.0.js'></script>
        <script src="js/qrcode.min.js" type="text/javascript"></script>
    </head>
    <body>
    
    <h1>输入URL以生成二维码</h1>
    <div>
        <label for="qr_link">URL:</label>
        <input id="qr_link" type="text" value="hello er wei ma !!" style="width:460px;"/>
        <input type="button" id="qr_creat" value="生成">
        <p>生成的二维码可以通过手机任意扫描工具,查看其二维码信息</p>
        <br/>
    </div>
    <br>
    <div id="qr_container" style="margin:auto; position:relative;"></div>
    
    <script type="text/javascript">
        //点击生成按钮以后
        document.getElementById("qr_creat").onclick = function() {
            var qrcode = new QRCode(        //实例化生成二维码
                document.getElementById("qr_container"), {//二维码存放的div
                    width: 160, //设置宽高
                    height: 160,
                }
    
            );
    
            //根据input框的值生成二维码
            qrcode.makeCode($('#qr_link').val());
           $("#qr_container").append("<br><br>");   //换行
        }
    </script>
    
    </body>
    </html>
    
    

    代码运行效果如下图:
    在这里插入图片描述

    二、二个简单的示例

    第二个例子用到了layui的一些元素layui下载地址
    引入layui.all.js和layui.css即可
    在这里插入图片描述

    scanQR.jsp如下:

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <!DOCTYPE html>
    <html>
    <head>
        <title>test1</title>
        <%--注意引用和地址--%>
        <script src="js/qrcode.min.js"></script>
        <script src="js/jquery-1.11.0.js"></script>
        <script type="text/javascript" src="js/layui/layui.all.js"></script>
        <link type="text/css" rel="styleSheet" href="js/layui/css/layui.css"/>
    </head>
    <body>
    
    <div align="center">
        <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" onclick="skipHandle()">预览</button>
    </div>
    
    <div id="code" style="display: none;">
        <div id="qrcode" style="margin-left: 75px;margin-top: 20px"></div>
    </div>
    
    <script>
    
        layui.use(['layer'], function () {
            var layer = layui.layer
        });
    
        // 设置要生成二维码的链接
        new QRCode(document.getElementById("qrcode"), {
            text: 'https://blog.csdn.net/bug_producter/',//注意地址的修改
            width: 250,
            height: 250
        });
    
        //预览等弹出框
        function skipHandle() {
            layer.open({
                type: 1,
                title: "bug_producter的博客",//标题
                area: ['400px', '400px'],
                content: $('#code').html(),
            });
        }
    
    </script>
    </body>
    </html>
    
    

    运行效果如下:
    在这里插入图片描述
    在这里插入图片描述
    这是博主刚刚生成的一个二维码,扫描后会跳转到博主的主页,用手机浏览器,或者微信QQ…等等都可以扫描扫描,关键代码就这一句 text: ‘https://blog.csdn.net/bug_producter/’

    有兴趣的小伙伴可以转到,

    手机访问本地Tomcat服务器

    在这篇文章的最后 重点 哪儿,也有关于二维码的内容,会追加一个例子的文件

    创作不易,如果这篇文章能够帮助到你,希望能关注或收藏一下博主,如果文章内容有问题也可留言讨论,我们一起学习,一起进步!!

    展开全文
  • PHPqrCode是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo, 查看地址:http://phpqrcode.sourceforge.net/。 下载官网提供的类库后,只需要使用phpqrcode.php就可以生成二维码...
  • java生成二维码到文件,java生成二维码转成BASE64
  • JS生成二维码

    千次下载 热门讨论 2015-12-30 23:04:52
    JS生成二维码,兼容各种浏览器及手机端,支持中文。
  • C#生成二维码、调用摄像头扫描二维码

    千次下载 热门讨论 2012-12-06 16:01:44
    生成二维码,可以调用摄像头扫描二维码并将扫描结果显示出来。
  • JAVA生成二维码

    2017-12-27 14:59:58
    生成二维码需要要用到Google的core3.0.0.jar 而这个jar包要求JDK版本为7.0以上。 获得URL,生成二维码: //要生成二维码的url,我这个url是微信支付生成的。 String urlCode = "weixin://wxpay/bizpayurl?pr=yG8B9...
  • python生成二维码

    万次阅读 2020-06-01 08:00:55
    python生成二维码 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文...
  • 提高zxing生成二维码的容错率及zxing生成二维码的边框设置(zxi,有需要的朋友可以参考下。 最近做了一个项目要生成二维码,跟几年前不同,最近大家都喜欢在二维码中间加logo. 加logo倒是不难,两个图片叠一起就是...
  • C# 利用QRCode生成二维码图片

    万次阅读 多人点赞 2014-01-18 10:04:30
    网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快。但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴。这是本要用它做了一个...
  • PHP生成二维码

    千次阅读 2017-06-17 15:39:33
    php生成二维码
  • springboot 生成二维码

    千次阅读 2017-11-21 09:56:22
    现如今二维码应用越来越广泛,那么如何生成二维码呢? 最近公司里要求开发一套会员系统,会员码要求设计成二维码形式,方便扫面获取会员信息,网上找了找二维码生成的api,发现生成的方式简单的很,一些网站直接输入...
  • pb生成二维码

    千次下载 热门讨论 2011-11-26 10:21:47
    pb生成二维码源代码 二维码是QR 二维码 QR码是二维条码的一种,QR 来自英文 “Quick Response” 的缩写,即快速反应的意思,源自发明者希望 QR 码可让其内容快速被解码。QR码比普通条码可储存更多资料,亦无需像...
  • PHP生成二维码和识别二维码

    千次阅读 2018-01-16 23:01:36
    PHP生成二维码 QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,下载官网提供的类库后,只需要引入phpqrcode.php就可以生成二维码 代码实例如下: function setCode($url){ $data = $url; $...
  • C#生成二维码

    千次阅读 2019-04-29 11:32:59
    现在许多的东西都需要用到二维码,可以使用C#来生成二维码,需要把什么数据放进二维码都可以,可以使用手机进行扫码,解出来,也可以使用电脑进行解读。 这里是方进入的数据,还有解析出来的数据 下面的是使用手机...
  • 之前我写过一篇博客是关于如何将zxing集成到Android...扫描速度也比较慢,功能不是很全,没有闪光灯,生成二维码,解析二维码图片,解析条码图片等。 这几天抽了点时间,将之前的代码完善了一下,主要是修复了一些b...
  • 1。生成二维码生成二维码我用的是angular-qrcode2。扫描二维码cordova
  • Python生成二维码

    千次阅读 2017-04-30 20:44:36
    Python生成二维码
  • wordpress页面生成二维码

    千次阅读 2020-08-14 08:51:49
    正文内容 wordpress页面生成二维码 wordpress页面生成二维码 二维码的生成方便移动端访问,特别当你的主题是自适应主题的时候,有时候我们可以在侧边栏工具上放置一个生成二维码的功能,让我们的主题很炫,很...
  • 前端生成二维码

    千次阅读 2019-05-13 10:34:13
    1、页面生成二维码利用Jquery的插件jquery.qrcode.min.js。插件地址https://github.com/jeromeetienne/jquery-qrcode 2、使用方法: (1)html中设置二维码生成的位置 <div class="qrcode"></div> ...
  • c语言生成 二维码

    千次阅读 2019-11-04 10:03:16
    c语言生成 二维码 这是第一次 写文档也是自己做的一些项目的感触 就简单记录一下。 二维码的粗略信息 想要生成一个二维码,就必须准备好你生产的内容。二维码分为 H ,Q,M,L 四种容错等级 和 30个版本 第一个...
  • 生成二维码

    千次阅读 2016-01-19 12:39:15
    我们简单的使用一下CIFilter来完成二维码生成,解剖一下二维码生成过程查找到 kCICategoryBuiltIn 内建的滤镜名 NSArray *filterNames = [CIFilter filterNamesInCategory:kCICategoryBuiltIn]; NSLog(@"%@",...
  • 使用PHP二维码生成类库PHP QR Code生成二维码   PHP QR Code是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,查看地址:http://phpqrcode.sourceforge.net/。 下载官网提供的...
  • JS识别二维码、JS生成二维码

    万次阅读 2018-06-30 16:28:37
    最近的项目中使用到了识别二维码和生成二维码,都是用JS生成的,应用在了移动端,在网上搜罗了许多进行验证,下面是我在项目中应用的: 识别二维码 1.JS文件和测试页面压缩包:...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 101,804
精华内容 40,721
关键字:

怎么自己生成二维码