在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

Java二维码的解码和编码

2016-12-20 13:15| 发布者: zhangjf| 查看: 425| 评论: 0

摘要: 需要用到的Jar包:ZXing-core.jar和ZXing-javase.jar。 import java.io.File;import java.util.Hashtable; import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zx ...
需要用到的Jar包:ZXing-core.jar和ZXing-javase.jar。
  1. import java.io.File;
  2. import java.util.Hashtable;
  3. import com.google.zxing.BarcodeFormat;
  4. import com.google.zxing.EncodeHintType;
  5. import com.google.zxing.MultiFormatWriter;
  6. import com.google.zxing.client.j2se.MatrixToImageWriter;
  7. import com.google.zxing.common.BitMatrix;
  8. //编码
  9. public class QREncoder {
  10. public static void main(String[] args) throws Exception {
  11. String content = "hello world";
  12. String encoding = "utf-8";
  13. int width = 150;
  14. int height = 150;
  15. String format = "jpg";
  16. File imagePath = new File("d:/test.jpg");
  17. com.google.zxing.Writer writer = new MultiFormatWriter();
  18. Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>(2);
  19. hints.put(EncodeHintType.CHARACTER_SET, encoding);
  20. BitMatrix matrix = writer.encode(content, BarcodeFormat.QR_CODE, width, height, hints);
  21. MatrixToImageWriter.writeToFile(matrix, format, imagePath);
  22. }
  23. }
  24. import java.io.File;
  25. import java.util.Hashtable;
  26. import javax.imageio.ImageIO;
  27. import com.google.zxing.Binarizer;
  28. import com.google.zxing.BinaryBitmap;
  29. import com.google.zxing.DecodeHintType;
  30. import com.google.zxing.LuminanceSource;
  31. import com.google.zxing.MultiFormatReader;
  32. import com.google.zxing.Reader;
  33. import com.google.zxing.Result;
  34. import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
  35. import com.google.zxing.common.GlobalHistogramBinarizer;
  36. //解码
  37. public class QRDecoder {
  38. public static void main(String[] args) throws Exception {
  39. File imagePath = new File("d:/test.jpg");
  40. String encoding = "utf-8";
  41. Reader reader = new MultiFormatReader();
  42. LuminanceSource ls = new BufferedImageLuminanceSource(ImageIO.read(imagePath));
  43. Binarizer b = new GlobalHistogramBinarizer(ls);
  44. Hashtable<DecodeHintType, String> hint1 = new Hashtable<DecodeHintType, String>(2);
  45. hint1.put(DecodeHintType.CHARACTER_SET, encoding);
  46. Result r = reader.decode(new BinaryBitmap(b), hint1);
  47. System.out.println(r.getText());
  48. }
  49. }
复制代码

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-8 15:16

Copyright 2015-2025 djqfx

返回顶部