生成二维码(内嵌logo)条形码大全[附源码下载]

97 篇文章 1 订阅
76 篇文章 1 订阅

CSDN的编辑器出现问题,都乱码了,重新排版了,

请点击:https://blog.csdn.net/djk8888/article/details/80938227




本例配套源码下载:https://download.csdn.net/download/djk8888/10505344

用到了:jquery.qrcode.js(实现简单,推荐此法)、ThoughtWorks.QRCode.dll等

HTML:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>生成二维码</title>
    <script type="text/javascript" src="js/jquery-1.11.1.js"></script>
    <script type="text/javascript" src="js/jquery.qrcode.js"></script>
    <script type="text/javascript" src="js/qrcode.js"></script>
    <script type="text/javascript" src="js/utf.js"></script>
</head>
<body>
    <table border="1">
        <tr>
            <td>
                <p>一行代码写法:</p>
                <div id="qrcode"></div>
                <script type="text/javascript">
                    $('#qrcode').qrcode(encodeURI("https://blog.csdn.net/djk8888"));//中文参数需要encode转码(下同)
                </script>
            </td>
            <td>
                <p>标准写法:</p>
                <div id="qrcodeTable"></div>
                <script type="text/javascript">
                    $('#qrcodeTable').qrcode({
                        render: "table",                        //二维码生成方式 table 或 canvas
                        text: "https://blog.csdn.net/djk8888",  //二维码内容 网址
                        width: "200",                           //二维码的宽度
                        height: "200",                          //二维码的高度
                    });
                </script>
            </td>
        </tr>
        <tr>
            <td>
                <p>内嵌LOGO写法:</p>
                <div id="qrcodeCanvas"></div>
                <script>
                    $('#qrcodeCanvas').qrcode({
                        render: "canvas",
                        text: "https://blog.csdn.net/djk8888",
                        width: "200",               //二维码的宽度
                        height: "200",              //二维码的高度
                        background: "#ffffff",       //二维码的后景色
                        foreground: "#000000",        //二维码的前景色
                        src: 'img/1.jpg'             //二维码中间的图片
                    });
                </script>
            </td>
            <td>
                <p>用webAPI接口的写法:</p>
                <img src="http://qr.liantu.com/api.php?text=https://blog.csdn.net/djk8888" />
            </td>
        </tr>
        <tr>
            <td>
                <p>用ThoughtWorks.QRCode.dll组件生成:</p>
                <img id="picEncode" />
                <script>
                    var url = "QRCode.ashx?qrUrl=" + encodeURI("https://blog.csdn.net/djk8888");
                    $("#picEncode").attr("src", url);
                </script>
            </td>
            <td>
                <p>生成条形码(API):</p>
                <img src='https://barcode.tec-it.com/barcode.ashx?data=https://blog.csdn.net/djk8888' />
            </td>
        </tr>
    </table>   
</body>
</html>

QRCode.ashx(ThoughtWorks.QRCode.Codec;)

<%@ WebHandler Language="C#" Class="QRCode" %>

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using ThoughtWorks.QRCode.Codec;



public class QRCode : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        try
        {
            string data = context.Request.QueryString["qrUrl"];
            QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
            qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;      //byte类型
            qrCodeEncoder.QRCodeScale = 4;     //大小
            qrCodeEncoder.QRCodeVersion = 7;   //版本               
            qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;  //等级


            //将bitmap格式的数据转换成byte格式
            byte[] img = ImageToByteArray(qrCodeEncoder.Encode(data));


            context.Response.ContentType = "image/jpeg";     //输出的文本格式
            context.Response.BinaryWrite(img);               //将二进制输出
            context.Response.Flush();
            context.Response.End();
        }
        catch { }
    }
    public byte[] ImageToByteArray(System.Drawing.Image imageIn)
    {
        MemoryStream ms = new MemoryStream();
        imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
        return ms.ToArray();
    }
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }
}

效果如图:

可以拿出手机扫一扫

本例配套源码下载:https://download.csdn.net/download/djk8888/10505344

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值