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;
* }
*
*/
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。