java zxing生成二维码的jar包下载制作

下载地址:https://github.com/zxing

第一步:点击zxing


第二步:点击releases


第三步:选择最新版本下载


注:由于github上面下载太慢(128M需要三四个小时),10K/s.会出现连接超时.

     设置方法参考:http://blog.csdn.net/crazy__qu/article/details/71554276

或者直接从我的云盘中下载:链接: https://pan.baidu.com/s/1jIkggeU 密码: 5d49


第四步:下载解压后目录

第五步:因为zxing没有提供相应的jar包.用myeclipse创建一个java项目,复制"core"文件夹中的com文件夹和"javase"中的com文件夹.到新创建的java项目中,会出现下面提示,直接yes



第六步:复制好之后里面会有报错信息,忽略.直接导出jar包. 如果感觉上面步骤麻烦,可以直接下载我做好的jar.

     链接: https://pan.baidu.com/s/1jIkggeU 密码: 5d49



maven项目:

直接搜索repository,进入maven仓库中搜索zxing,然后选择相应的版本.拷贝core和javese的依赖


JAVA项目生成二维码

package com.crazy_qu.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;

/**
 * 生成二维码
 * @author crazy
 *
 */
public class CreateQRCode {

	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.H);//纠错等级LMQH,一般用M
		map.put(EncodeHintType.MARGIN, 2);//边距
		
		//生成二维码
		try {
			BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, width, height, map);
			
			Path file = new File("D:/img.png").toPath();
			
			MatrixToImageWriter.writeToPath(bitMatrix, format, file);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

JAVA读取所生成的二维码

package com.crazy_qu.zxing;

import java.awt.image.BufferedImage;
import java.io.File;
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.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;

/**
 * 读取二维码的内容
 * @author crazy
 *
 */
public class ReadQRCode {

	public static void main(String[] args) {
		try {
			MultiFormatReader formatReader = new MultiFormatReader();
			
			//读取文件识别成一个图片
			File file = new File("D:/img.png");
			BufferedImage image = ImageIO.read(file);
			
			/*
			BufferedImageLuminanceSource source = new BufferedImageLuminanceSource(image);
			HybridBinarizer binarizer = new HybridBinarizer(source);
			BinaryBitmap binaryBitmap = new BinaryBitmap(binarizer);
			*/
			BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(new BufferedImageLuminanceSource(image)));
			
	
			//定义二维码的参数
			HashMap map = new HashMap();
			map.put(EncodeHintType.CHARACTER_SET, "utf-8");//字符集
			
		
			Result result = formatReader.decode(binaryBitmap, map);
			
			System.out.println("解析结果:"+result.toString());
			System.out.println("二维码格式:"+result.getBarcodeFormat());
			System.out.println("二维码文本内容:"+result.getText());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}




  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值