http://barcode-coder.com/ 有一个js生成条形码的库。
修改了一下。把编码的函数和显示的函数分离开,去掉了对jquery的依赖。
/** * 修改:hanyeah * 修改为相对独立的方法,去掉对jquery的依赖。 * * 使用方法: * * 1、调用encode方法,并接收返回值,其中参数和原来是一样的:function encode(datas, type, settings) ,如 * var o=barcode.encode("1234567890128", "ean13"); * 返回值结构如下: * {"f":f,"o":o,"g":g} * f是设置参数,由encode的第三个参数和barcode.a.settings共同决定; * o是编码之后的字符串; * g是compute之后的datas(不知道理解的对不对) * * 2、调用barcode.a.digitToCanvas、barcode.a.digitToSvg、barcode.a.digitToBmp等方法,将编码之后的字符串转换成图。 * 例如 * 转成canvas: * var jq=new barcode.jq(); * barcode.a.digitToCanvas(jq,o.f,o.o,o.g); * 转成Bitmap: * var jq=new barcode.jq(); * barcode.a.digitToBmp(jq,o.f,o.o,o.g); * ...... * barcode.jq是新添加的一个对象,为了替代jquery。 * jq.data就是转换之后得到的对象。可能不能直接用于显示。 * * 3、将最终的结果添加到html中,显示出来。详见下面的demo。 * * demo: * * function digitToSvg(){ * var jq=new barcode.jq(); * barcode.a.digitToSvg(jq,o.f,o.o,o.g); * console.log("===========digitToSvg=============="); * console.log(jq); * * //var img=document.createElement("img"); * //document.body.appendChild(img); * //img.src=jq.data.data; * * var div=document.createElement("div"); * div.innerHTML=jq.data.data.substring(19); * div.style.width=jq.width+"px"; * document.body.appendChild(div); * } * function digitToSvg2D(){ * var jq=new barcode.jq(); * barcode.a.digitToSvg2D(jq,o.f,o.o,o.g); * console.log("===========digitToSvg2D=============="); * console.log(jq); * var div=document.createElement("div"); * div.innerHTML=jq.data.data.substring(19); * div.style.width=jq.width+"px"; * document.body.appendChild(div); * } * function digitToCanvas(){ * var jq=new barcode.jq(); * barcode.a.digitToCanvas(jq,o.f,o.o,o.g); * console.log("===========digitToCanvas=============="); * console.log(jq); * document.body.appendChild(jq.data); * } * function digitToCanvas2D(){ * var jq=new barcode.jq(); * barcode.a.digitToCanvas2D(jq,o.f,o.o,o.g); * console.log("===========digitToCanvas2D=============="); * console.log(jq); * document.body.appendChild(jq.data); * } * function digitToBmp(){ * var jq=new barcode.jq(); * barcode.a.digitToBmp(jq,o.f,o.o,o.g); * console.log("===========digitToBmp=============="); * console.log(jq); * var img=document.createElement("img"); * document.body.appendChild(img); * img.src=jq.data.data; * } * function digitToBmp2D(){ * var jq=new barcode.jq(); * barcode.a.digitToBmp2D(jq,o.f,o.o,o.g); * console.log("===========digitToBmp2D=============="); * console.log(jq); * var img=document.createElement("img"); * document.body.appendChild(img); * img.src=jq.data.data; * } * */
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。