java生成二维码与解析二维码

1.新建一个java项目,将zxing.jar包导进去,然后新建两个java文件,整体的框架如图所示:



2.CreateQRCode.java里面的代码如下所示:

[java]  view plain  copy
 print ?
  1. package zxing;  
  2.   
  3. import java.io.File;  
  4. import java.nio.file.Path;  
  5. import java.util.HashMap;  
  6.   
  7. import com.google.zxing.BarcodeFormat;  
  8. import com.google.zxing.EncodeHintType;  
  9. import com.google.zxing.MultiFormatWriter;  
  10. import com.google.zxing.client.j2se.MatrixToImageWriter;  
  11. import com.google.zxing.common.BitMatrix;  
  12. import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;  
  13.   
  14. public class CreateQRCode {  
  15.   
  16.     public static void main(String[] args) {  
  17.         int width = 300;  
  18.         int height = 300;  
  19.         String format = "png";  
  20.         String content = "https://user.qzone.qq.com/1752633220/infocenter";  
  21.         HashMap hints = new HashMap();  
  22.         hints.put(EncodeHintType.CHARACTER_SET, "utf-8");  
  23.         hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);  
  24.         hints.put(EncodeHintType.MARGIN, 1);  
  25.         try {  
  26.             BitMatrix bitMatrix = new MultiFormatWriter().encode(content,  
  27.                     BarcodeFormat.QR_CODE, width, height);  
  28.             Path file = new File("D:/code/img.png").toPath();  
  29.             MatrixToImageWriter.writeToPath(bitMatrix, format, file);  
  30.         } catch (Exception e) {  
  31.             e.printStackTrace();  
  32.         }  
  33.     }  
  34.   
  35. }  
3.ReadQRCode.java里面的代码如下所示:

package zxing;

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 ReadQRCode {

	public static void main(String[] args) throws NotFoundException {
		try {
			MultiFormatReader formatReader = new MultiFormatReader();
			File file = new File("D:/code/img.png");
			BufferedImage image = ImageIO.read(file);
			BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer(
					new BufferedImageLuminanceSource(image)));
			HashMap hints = new HashMap();
			hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
			Result result = formatReader.decode(binaryBitmap, hints);
			System.out.println("解析结果:" + result.toString());
		} catch (NotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

4. 要确保D盘下面有code这个文件夹,然后运行CreateQRCode代码,可以得到一张想要生成的二维码,扫扫二维码可以进入设置好的链接:


5.要确保D盘下面有code这个文件夹并且有img.png这张二维码,然后运行ReadQRCode代码,可以得到解析出来的二维码链接,要用到的jar包可以到http://download.csdn.net/download/qq_29656961/10006793去下载:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值