zoukankan      html  css  js  c++  java
  • 二维码的生成-QRCode.js

    一、QRCode.js介绍:

        QRCode.js 是一个用于生成二维码的 JavaScript 库。主要是通过获取 DOM 的标签,再通过 HTML5 Canvas 绘制而成

    二、实例代码如下:下面是我项目中用到的一个demo实例

    @model LeaRun.Entity.Channels.QrCodeDto
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>AddChannels</title>
        <link rel="stylesheet" href="~/js/layui/css/layui.css" />
        @*<script src="~/js/layui/layui.js"></script>*@
        <script src="~/js/wangEditor/wangEditor.js"></script>
        <script src="~/js/stringHelper.js"></script>
        <script src="~/Scripts/jquery.qrcode.min.js"></script>
    
    </head>
    <body>
        <div class="wrapper">
            <div class="page-heading">
                <h3>
                    推广二维码及推广链接
                </h3>
            </div>
            <hr />
            <div class="row">
                <div class="col-md-12">
                    <section class="panel">
                        <header class="panel-heading">
                            <div role="form" class="form-horizontal adminex-form">
                                @*<button class="btn btn-theme03" style="margin-top:15px;margin-bottom:40px;float:right;" onclick="window.history.back();">返回</button>*@
                                <section class="panel">
                                    <div class="panel-body">
                                        <a style="color:black;float:right" onclick="window.history.back();"><i style="font-size:40px;" class="layui-icon layui-icon-close"></i></a>
                                    </div>
                                    <div class="panel-body">
    
                                        @*<div class="form-group" style="display:inline-block;auto;">
                                                <div class="layui-form-item">
                                                    <label class="layui-form-label " style="106px;">所属渠道:</label>
                                                    <div class="layui-input-block">
                                                        <select name="interest" id="channelsSelect" class="form-control" lay-filter="aihao">
                                                            <option value="0" selected=""></option>
                                                        </select>
                                                    </div>
                                                </div>
                                            </div>*@
    
                                        <div class="form-group">
                                            <label style="text-align:right" class="col-lg-1 control-label"><span style="color:red">*</span> 广告名称</label>
                                            <div class="col-lg-9">
                                                <span style="line-height: 34px;">@Model.advertisingName</span>
                                                @*<input type="text" readonly="readonly" value="@Model.advertisingName" name="advertisingName" id="advertisingName" class="form-control" required placeholder="广告名称">*@
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label style="text-align:right" class="col-lg-1 control-label"><span style="color:red">*</span> 所属渠道</label>
                                            <div class="col-lg-9">
                                                <span  style="line-height: 34px;">@Model.ChannelName</span>
    
                                                @*<input type="text" readonly="readonly" value="@Model.ChannelName" name="advertisingName" id="ChannelName" class="form-control" required placeholder="所属渠道">*@
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label style="text-align:right" class="col-lg-1 control-label"><span style="color:red">*</span> 二维码</label>
                                            <div class="col-lg-9">
                                                <a id="erweimaImg"></a>
                                                <div id="Code" style="display:none;100px;height:100px;"></div>
                                                <button type="button" style="margin-left:10px;" class="btn btn-primary" onclick="downloadClick()">下载二维码</button>
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label style="text-align:right" class="col-lg-1 control-label"><span style="color:red">*</span> 推广链接:</label>
                                            <div class="col-lg-9">
                                                <span style="line-height: 34px;">@Model.advertisingUrl</span>
                                                @*<input type="text" readonly="readonly" value="@Model.advertisingUrl" name="advertisingName" id="advertisingUrl" class="form-control" required placeholder="推广链接">*@
                                            </div>
                                        </div>
                                    </div>
                                </section>
                            </div>
                        </header>
                    </section>
                </div>
            </div>
        </div>
        
    </body>
    </html>
    <script>
        //广告管理
        $(function () {
            
            $("#Code").qrcode({
               // render: "table", //table方式
                 100, //宽度
                height: 100, //高度
                text: '@Model.advertisingUrl',  //任意内容,
                correctLevel: 0
            });
    
    
            //定义方法
            function canvasToImage(canvas) {
                    var image = new Image();
                    // 指定格式 PNG 图片后缀可自定义
                    image.src = canvas.toDataURL("image/png");
                    return image;
                }
            
            //找到需要转换的canvas
            var mycanvas1 = document.getElementsByTagName('canvas')[0];
    
                //进行方法转换
                var img = canvasToImage(mycanvas1);
    
                //将转换后的img标签插入到显示容器中
            $('#erweimaImg').append(img);
    
            downloadClick = function () {
    
                    var data = $("canvas")[0].toDataURL().replace("image/png", "image/octet-stream;");//获取二维码值,并修改响应头部。
                    var filename="tupian.png";//保存的图片名称和格式,canvas默认使用的png格式。这个格式效果最好。
                    var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
                    save_link.href = data;
                    save_link.download = filename;
    
                    var event = document.createEvent('MouseEvents');
                    event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
                    save_link.dispatchEvent(event);
            }
    
        })
    
    </script>

    备注 :如有不懂,可以留言。

  • 相关阅读:
    servlet和springMVC框架
    JavaWeb登录、注销、退出、记住用户名和密码-session
    一个实现用户登录注销的小程序,求大神帮忙解救 ...
    log4j:WARN Please initialize the log4j system properly解决办法
    接上一篇
    Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds...
    classpath
    跳转页面代码
    程序猿学习路线
    Calendar
  • 原文地址:https://www.cnblogs.com/wangjinya/p/13426371.html
Copyright © 2011-2022 走看看