原文:http://www.open-open.com/code/view/1430906793866

import java.io.File;
import java.util.Hashtable; import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix; //编码
public class QREncoder { public static void main(String[] args) throws Exception {
String content = "hello world";
String encoding = "utf-8";
int width = 150;
int height = 150;
String format = "jpg";
File imagePath = new File("d:/test.jpg"); com.google.zxing.Writer writer = new MultiFormatWriter();
Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>(2);
hints.put(EncodeHintType.CHARACTER_SET, encoding);
BitMatrix matrix = writer.encode(content, BarcodeFormat.QR_CODE, width, height, hints);
MatrixToImageWriter.writeToFile(matrix, format, imagePath);
} } import java.io.File;
import java.util.Hashtable; import javax.imageio.ImageIO; import com.google.zxing.Binarizer;
import com.google.zxing.BinaryBitmap;
import com.google.zxing.DecodeHintType;
import com.google.zxing.LuminanceSource;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.Reader;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.GlobalHistogramBinarizer; //解码
public class QRDecoder { public static void main(String[] args) throws Exception {
File imagePath = new File("d:/test.jpg");
String encoding = "utf-8"; Reader reader = new MultiFormatReader();
LuminanceSource ls = new BufferedImageLuminanceSource(ImageIO.read(imagePath));
Binarizer b = new GlobalHistogramBinarizer(ls);
Hashtable<DecodeHintType, String> hint1 = new Hashtable<DecodeHintType, String>(2);
hint1.put(DecodeHintType.CHARACTER_SET, encoding);
Result r = reader.decode(new BinaryBitmap(b), hint1);
System.out.println(r.getText());
} }

最新文章

  1. JavaScript实现DOM对象选择器
  2. 绕过HR破门而入的求职智慧
  3. 【HTML】Intermediate4:Tables:rowspan and colspan
  4. HTTP学习笔记
  5. win7 安装 redis +php扩展
  6. 七种Prolog解释器/编译器
  7. jquery新版本不支持toggle()的解决方法
  8. BUG,带给我的思考
  9. 福利 c++ 标准头文件大全
  10. dojo表格分页插件报错
  11. 使用appium做自动化测试时,send_keyss只能输入字母数字,无法输入中文
  12. java 序列化和反序列化的实现原理
  13. 异常处理.VC++
  14. RNA测序相对基因表达芯片有什么优势?
  15. vue教程1-01 v-model 一般表单元素(input) 双向数据绑定
  16. [日常] Go语言圣经-可变参数习题
  17. Android studio Unable to start the daemon process
  18. 数据库学习---SQL基础(一)
  19. python学习之老男孩python全栈第九期_数据库day004知识点总结 —— MySQL数据库day4
  20. http 502 bad gate way

热门文章

  1. 10g集群启动顺序
  2. Using URL Schemes to Communicate with Apps
  3. 在window下搭建即时即用的hyperledger fabric 的环境
  4. java基本框架
  5. focus,focusin,blur,focusout区别
  6. CentOS7.4搭建kafka单结点和集群
  7. python 06 8/28-8/30
  8. Angular 1.x 框架原理
  9. pygame试水,写一个贪吃蛇
  10. 算法导论 第九章 中位数和顺序统计量(python)