您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

用Java生成二维码代码分享

2024/4/24 23:50:20发布5次查看
二维码的特点:
1.  高密度编码,信息容量大
可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比普通条码信息容量约高几十倍。
2.  编码范围广
该条码可以把图片、声音、文字、签字、指纹等可以数字化的信息进行编码,用条码表示出来;可以表示多种语言文字;可表示图像数据。
3.  容错能力强,具有纠错功能
这使得二维条码因穿孔、污损等引起局部损坏时,照样可以正确得到识读,损毁面积达50%仍可恢复信息。
4.  译码可靠性高
它比普通条码译码错误率百万分之二要低得多,误码率不超过千万分之一。
5.  可引入加密措施
保密性、防伪性好。
6.  成本低,易制作,持久耐用
正因为以上这些特点,二维码现在越来越流行,应用也是越来越广(详细了解请见百度百科,介绍不是本篇重点),所以掌握如何开发二维码是非常不错的知识储备,因此本篇文章将为大家讲解如何生成、解析二维码。
本文说的是通过zxing实现二维码的生成与解析,看着很简单,直接上代码
import java.io.file;import java.io.ioexception;import java.nio.file.path;import java.util.hashmap;import com.google.zxing.barcodeformat;import com.google.zxing.encodehinttype;import com.google.zxing.multiformatwriter;import com.google.zxing.writerexception;import com.google.zxing.client.j2se.matrixtoimagewriter;import com.google.zxing.common.bitmatrix;import com.google.zxing.qrcode.decoder.errorcorrectionlevel;public class testzxing {public static void main(string[] args) {int width=300;int height=300;         string format=png;         string contents=www.baidu.com;         hashmap map=new hashmap();         map.put(encodehinttype.character_set, utf-8);         map.put(encodehinttype.error_correction,errorcorrectionlevel.m);         map.put(encodehinttype.margin, 0);try {             bitmatrix bm = new multiformatwriter().encode(contents, barcodeformat.qr_code, width, height);             path file=new file(d:/img.png).topath();             matrixtoimagewriter.writetopath(bm, format, file);         } catch (writerexception e) {             e.printstacktrace();         } catch (ioexception e) {            e.printstacktrace();         }     } }
通过上面的代码则会生成一个内容链接为www.baidu.com的二维码
对这个二维码的解析的代码如下
import java.awt.image.bufferedimage;import java.io.file;import java.io.ioexception;import java.util.hashmap;import javax.imageio.imageio;import com.google.zxing.binarybitmap;import com.google.zxing.encodehinttype;import com.google.zxing.multiformatreader;import com.google.zxing.notfoundexception;import com.google.zxing.result;import com.google.zxing.client.j2se.bufferedimageluminancesource;import com.google.zxing.common.hybridbinarizer;public class testread {public static void main(string[] args) {try {             multiformatreader reader=new multiformatreader();//需要详细了解multiformatreader的小伙伴可以点我一下官方去看文档file f=new file(d:/img.png);             bufferedimage image=imageio.read(f);             binarybitmap bb=new binarybitmap(new hybridbinarizer(new bufferedimageluminancesource(image)));             hashmap map =new hashmap();             map.put(encodehinttype.character_set, utf-8);             result result = reader.decode(bb,map);             system.out.println(解析结果:+result.tostring());             system.out.println(二维码格式类型:+result.getbarcodeformat());             system.out.println(二维码文本内容:+result.gettext());         } catch (notfoundexception e) {             e.printstacktrace();         } catch (ioexception e) {             e.printstacktrace();         }     } }
执行的结果如下
解析结果:www.baidu.com 二维码格式类型:qr_code 二维码文本内容:www.baidu.com
具体的jar包小伙伴可以自行下载
链接: 密码:kcjx
以上就是用java生成二维码代码分享的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录