基于Jquery的多彩二维码的生成

Demo效果图:

源代码:

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
    <script type="text/javascript" src="/Scripts/jquery-1.10.2.js"></script>
    <script type="text/javascript" src="/Scripts/PickColor.js"></script>
    <style type="text/css">
        #iColorPicker {
            color: #fff;
            background: #333;
            border: 1px solid #ccc;
            padding: 5px;
            z-index: 9999;
        }

        #colorPreview {
            height: 50px;
        }

        table.pickerTable {
            border-collapse: collapse;
        }

        table.pickerTable td {
            width: 12px;
            height: 14px;
            border: 1px solid #000;
            cursor: pointer;
        }
        .logoClass {
            margin: 5px 0;
        }
        .logoClass img {
            border-radius: 10px;
        }
    </style>
</head>
    <body>
        <table>
            <tr>
                <td>背景颜色:</td>
                <td><input name="bgcolor" id="bgcolor" type="text" value="" class="temp" hx="#ccc" /></td>
            </tr>
            <tr>
                <td>前景颜色:</td>
                <td><input name="fgcolor" id="fgcolor" type="text" value="" class="temp" hx="#000" /></td>
            </tr>
            <tr>
                <td>渐变颜色:</td>
                <td><input name="gccolor" id="gccolor" type="text" value="" class="temp" hx="#ee1d24" /></td>
            </tr>
            <tr>
                <td>纠错等级:</td>
                <td>
                    <select id="el">
                        <option value="h">高</option>
                        <option value="q">中等</option>
                        <option value="m">低</option>
                        <option value="l">最低</option>
                    </select>
                </td>
            </tr>
            <tr>
                <td>尺寸大小(单位像素):</td>
                <td>
                    <input type="text" id="wwidth" value="300"/>
                </td>
            </tr>
            <tr>
                <td>静区(外边距):</td>
                <td>
                    <input type="text" id="mwidth" value="30" />
                </td>
            </tr>
            <tr>
                <td>定位点颜色(外框)</td>
                <td><input name="ptcolor" id="ptcolor" type="text" class="temp" value="" hx="#00bff3" /></td>
            </tr>
            <tr>
                <td>定位点颜色(内点)</td>
                <td><input name="inptcolor" id="inptcolor" type="text" class="temp" value="" hx="#197b30" /></td>
            </tr>
            <tr>
                <!--若要将添加的logo导入到二维码,需将图片上传到服务器,这里以静态图片为例-->
                <td>logo图片:</td>
                <td>
                    <input type="file" id="logo" name="logo" onchange="previewImage(this.id, ‘imgPre‘);" />
                    <div class="logoClass">
                        <img id="imgPre" src="http://yintai.aitoy.com/Images/Presentation/XintiandiOF/stati2.png" width="100" height="100" />
                    </div>
                </td>
            </tr>
            <tr>
                <td>待输入文本:</td>
                <td>
                    <textarea id="txtInfo" name="txtInfo" style="width: 300px;height: 100px"></textarea>
                </td>
            </tr>
        </table>
        <hr/>
        <input type="button" id="btnOk" name="btnOk" value="提交" />
        <hr />
        <img id="imgPath" src="" />
    </body>
</html>

<script>
    function getBrowser() {
        if (navigator.userAgent.indexOf("MSIE") >= 1) {
            return "ie";
        } else if (navigator.userAgent.indexOf("Firefox") > 0) {
            return "ff";
        } else if (navigator.userAgent.indexOf("Chrome") > 0) {
            return "chrome";
        }
    }

    function previewImage(fileId, imgId) {
        var url = "";
        var b = getBrowser();
        switch (b) {
            case "ie":
                url = document.getElementById(fileId).value;
                break;
            case "ff":
                url = window.URL.createObjectURL(document.getElementById(fileId).files.item(0));
                break;
            case "chrome":
                url = window.URL.createObjectURL(document.getElementById(fileId).files.item(0));
                break;
        }
        document.getElementById(imgId).src = url;
    }

    $(function () {
        $(‘.temp‘).iColor(null, { ‘x‘: -175, ‘y‘: 200 });
    });
    $(function() {
        $("#btnOk").click(function() {
            var bg = $("#bgcolor").val().split("#")[1];
            if (bg.length == 3) {
                bg = bg[0] + bg[0] + bg[1] + bg[1] + bg[2] + bg[2];
            }
            var fg = $("#fgcolor").val().split("#")[1];
            if (fg.length == 3) {
                fg = fg[0] + fg[0] + fg[1] + fg[1] + fg[2] + fg[2];
            }
            var gc = $("#gccolor").val().split("#")[1];
            if (gc.length == 3) {
                gc = gc[0] + gc[0] + gc[1] + gc[1] + gc[2] + gc[2];
            }
            var el = $("#el").val();
            var w = $("#wwidth").val();
            var m = $("#mwidth").val();
            var pt = $("#ptcolor").val().split("#")[1];
            if (pt.length == 3) {
                pt = pt[0] + pt[0] + pt[1] + pt[1] + pt[2] + pt[2];
            }
            var inpt = $("#inptcolor").val().split("#")[1];
            if (inpt.length == 3) {
                inpt = inpt[0] + inpt[0] + inpt[1] + inpt[1] + inpt[2] + inpt[2];
            }
            var logo = $("#imgPre").attr("src");
            var txtInfo = $("#txtInfo").val();
            var html = "http://qr.liantu.com/api.php?bg=" + bg + "&fg=" + fg + "&gc=" + gc + "&el=" + el + "&w=" + w + "&m=" + m + "&pt=" + pt + "&inpt=" + inpt + "&logo=" + logo + "&text=" + txtInfo;
            $("#imgPath").attr("src", html);
        });
    });
</script>

源码下载:链接:http://pan.baidu.com/s/1hq49URi 密码:c043(内含离线生成二维码js文件)

时间: 2024-11-09 21:46:20

基于Jquery的多彩二维码的生成的相关文章

Android 基于google Zxing实现二维码的生成,识别和长按识别的效果

最近项目用到了二维码的生成与识别,之前没有接触这块,然后就上网搜了搜,发现有好多这方面的资源,特别是google Zxing对二维码的封装,实现的已经不错了,可以直接拿过来引用,下载了他们的源码后,只做了少少的改动,就是在Demo中增加了长按识别的功能,网上虽然也有长按识别的Demo,但好多下载下来却无法运行,然后总结了一下,加在了下面的Demo中. 如图所示,引用时直接把用红色圈起来的包放在你项目所对应的文件夹下,当然一些资源文件,比如string.xml里项目的引用你自己添加上就是 当然别忘

二维码在线生成工具

现在二维码很普遍,很多时候都需要把链接或者文字生成一个二维码,所以自己周末就制作了一个二维码在线生成工具,支持大小和颜色的修改,基本能满足平时需要,喜欢的可以收藏使用. 工具地址:http://www.w3cmark.com/tools/ewm.html github地址:https://github.com/w3cmark/tools 工具截图: 工具源码: 1.调用开放的api(liantu),支持大小.前景色.背景色.嵌入logo等等属性,这里只加入了两个常用的两种,其实想把嵌入logo也

二维码的生成细节和原理

二维码的生成细节和原理 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等.这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密码算法,在此写一这篇文章 ,揭露一下.供好学的人一同学习之. 关于QR Code Specification,可参看这个PDF:http://raidenii.net/files/datashee

二维码的生成细节和原理【转】

二维码又称 QR Code,QR 全称 Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的 Bar Code 条形码能存更多的信息,也能表示更多的数据类型:比如:字符,数字,日文,中文等等.这两天学习了一下二维码图片生成的相关细节,觉得这个玩意就是一个密 码算法,在此写一这篇文章 ,揭露一下.供好学的人一同学习之. 关于 QR Code Specification,可参看这个 PDF:http://raidenii.net/files/datasheets/m

Android二维码的生成算法原理简介

二维码的定义:二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的.在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等.1.堆叠式/行排式二维条码,如,Code 16K.Code 49.PDF417(如下图)等2.矩阵式二维码,最流行莫过于Q

iOS中二维码的生成与使用(入门篇)

这里简单总结一下关于二维码的扫描与生成,用的是原生的AVFoundation框架,其实这个框架目前功能还是够用的,不过这里推荐一个二维码扫描的第三方(face++),网址就不贴了,直接度娘就OK,里面的内容足够丰富,感兴趣的朋友可以自己去倒弄一下. 一.二维码的扫描 步骤: 1.创建输入视频设备(默认是后置摄像头) 2.创建输入设备对象 3.创建元数据输出设备 4.创建session目的是将输入和输出联系在一起) 5.把输出设备添加到session,将输入设备添加到session 6.设置数据源

Android zxing 解析二维码,生成二维码极简demo

zxing 官方的代码很多,看起来很费劲,此demo只抽取了有用的部分,实现了相机预览解码,解析本地二维码,生成二维码三个功能. 简化后的结构如下: 废话少说直接上代码: BaseDecodeHandler: package com.song.zxing.decode; import android.graphics.Bitmap; import android.os.Bundle; import com.google.zxing.BarcodeFormat; import com.google

IOS使用ZBarSDK实现二维码的生成和扫描

现在二维码的使用也是越来越多,那我们在做APP的时候,有时也需要考虑二维码的生成和扫描 首先简单的讲一下二维码的生成 首先定义一个ImageView来显示生成的二维码图片 只是简单的做一下字符串转化成二维码 导入 libqrencode文件 引入头文件#import "QRCodeGenerator.h" 即可使用 imageview.image = [QRCodeGenerator qrImageForString:@"www.cnblogs.com/myselfxiaox

iOS开发 - 二维码的生成与读取

二维码的生成 从iOS7開始集成了二维码的生成和读取功能 此前被广泛使用的zbarsdk眼下不支持64位处理器 生成二维码的步骤: 导入CoreImage框架 通过滤镜CIFilter生成二维码 二维码的内容(传统的条形码仅仅能放数字): 纯文本 名片 URL 生成二维码 // 1. 实例化二维码滤镜 CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; // 2. 恢复滤镜的默认属性 [filter se