首页 > 编程 > Java > 正文

java 解码二维码

2019-11-11 06:51:28
字体:
来源:转载
供稿:网友
需要的jar包下载地址 http://download.csdn.net/detail/sinat_22750705/9748085
package BasicsTest;import com.swetake.util.Qrcode;import jp.sourceforge.qrcode.QRCodeDecoder;import jp.sourceforge.qrcode.data.QRCodeImage;import jp.sourceforge.qrcode.exception.DecodingFailedException;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;/** * 二维码生成 * Created by xs on 2017/2/6. */public class QRCode {    /**     * @param args the command line arguments     */    public static void main(String[] args) {               QRCode handlers = new QRCode();        String imgPaths = "qrCodeTest.png";        String decoderContent = handler.decoderQRCode(imgPaths);        System.out.PRintln("解析结果如下:");        System.out.println(decoderContent);        System.out.println("========decoder success!!!");    }    /**          * 解码二维码          * @param imgPath         * @return String         */       public String decoderQRCode(String imgPath) {             // QRCode 二维码图片的文件              File imageFile=new File(imgPath);             //BufferedImage 提供创建和修改图像的各种类              BufferedImage bufImg = null;              String decodedData = null;             try {                     bufImg = ImageIO.read(imageFile);                     QRCodeDecoder decoder = new QRCodeDecoder();                     decodedData = new String(decoder.decode(new J2SEImage(bufImg)));              } catch (IOException e) {                       System.out.println("Error: " + e.getMessage());                       e.printStackTrace();              } catch (DecodingFailedException dfe) {                       System.out.println("Error: " + dfe.getMessage());                       dfe.printStackTrace();              }        return decodedData;      }       //二维码图片      class J2SEImage implements QRCodeImage {                BufferedImage bufImg;              public J2SEImage(BufferedImage bufImg) {                     this.bufImg = bufImg;              }              public int getWidth() {                     return bufImg.getWidth();               }              public int getHeight() {                     return bufImg.getHeight();               }               public int getPixel(int x, int y) {                     return bufImg.getRGB(x, y);               }       }}结果如下:
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表