博舍

java实现二维码的生成与解析 二维码生成器的作用与功能是什么样的呢

java实现二维码的生成与解析

之前在做一个小项目的时候,用到了二维码技术,我同学看到我的项目后就问我怎么做到的,我一时半会也说不清,于是就想写一篇文章简单介绍一下二维码技术,下次再有同学问到,我就直接给他看我的博客就好了,哈哈。

废话不多说,咱们开始吧,开始之前还是先给大家看看我在实际应用中的效果,如下图:

简单介绍下二维码:二维码其实就是一种编码技术,只是这种编码技术是用在图片上了,将给定的一些文字,数字转换为一张经过特定编码的图片,而解析二维码则相反,就是将一张经过编码的图片解析为数字或者文字。

当然了,这种编码的低层实现并不是那么的简单,都是那些顶级研发人员做的事,我们只需要简单了解并知道怎么使用就可以了。

那么肯定是要导入jar包依赖的吧,那不用说,是要导包的,我用的是谷歌提供的一个com.google.zxing.core版本是3.3.0的。

下面我们直接创建一个maven项目,用maven管理jar包很方便,而且我们需要的jar包基本都可以从官网下载进行依赖的添加。

创建好maven项目后,在项目的pom.xml中添加依赖:

com.google.zxingcore3.3.0

上面这段依赖可以直接到maven的官网进行copy,在maven依赖查询官网直接搜索zxing,我用的是3.3.0的版本。

相信大家对maven也已经比较熟悉了,具体大家可参考我的文章里面的《maven入门笔记》

jar包依赖添加完后,我们直接上代码:

第一个类:

packagecom.yc.qrcode;importjava.awt.Graphics2D;importjava.awt.geom.AffineTransform;importjava.awt.image.BufferedImage;importcom.google.zxing.LuminanceSource;publicclassBufferedImageLuminanceSourceextendsLuminanceSource{privatefinalBufferedImageimage;privatefinalintleft;privatefinalinttop;publicBufferedImageLuminanceSource(BufferedImageimage){this(image,0,0,image.getWidth(),image.getHeight());}publicBufferedImageLuminanceSource(BufferedImageimage,intleft,inttop,intwidth,intheight){super(width,height);intsourceWidth=image.getWidth();intsourceHeight=image.getHeight();if(left+width>sourceWidth||top+height>sourceHeight){thrownewIllegalArgumentException("Croprectangledoesnotfitwithinimagedata.");}for(inty=top;y

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇