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

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

Java二维码的解码和编码的更多相关文章

  1. Java二维码生成与解码

      基于google zxing 的Java二维码生成与解码   一.添加Maven依赖(解码时需要上传二维码图片,所以需要依赖文件上传包) <!-- google二维码工具 --> &l ...

  2. Atitit java 二维码识别 图片识别

    Atitit java 二维码识别 图片识别 1.1. 解码11.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.11.3. 二维码的样例:21.4. 定位图案21.5. 数 ...

  3. java 二维码

    在http://www.ostools.net/qr看到了一个生成二维码的工具,于是就产生了一个想法: 为什么自己不做一个二维码的生成和解析工具呢?花了一个多钟的时间,嘿嘿,就做出来啦... 先来看看 ...

  4. Java 二维码--转载

    周末试用下Android手机的二维码扫描软件,扫描了下火车票.名片等等,觉得非常不错很有意思的.当然Java也可以实现这些,现在就分享下如何简单用Java实现二维码中QRCode的编码和解码(可以手机 ...

  5. java二维码生成-谷歌(Google.zxing)开源二维码生成学习及实例

    java二维码生成-谷歌(Google.zxing)开源二维码生成的实例及介绍   我们使用比特矩阵(位矩阵)的QR码编码在缓冲图片上画出二维码 实例有以下一个传入参数 OutputStream ou ...

  6. Halcon一维码和二维码的解码步骤和技巧——第11讲

    针对Halcon中一维码和二维码的解码,我分别写了两篇文章,参见: <Halcon的一维条码解码步骤和解码技巧>:https://www.cnblogs.com/xh6300/p/1048 ...

  7. java 二维码编码解码

    做一个小项目的时候写了个二维码编码和解码的小工具,感觉可能用得到,有兴趣的朋友可以看下 再次之前,徐需要用到google的zxing相关的jar包,还有javax相关包 以上为可能用到的jar pac ...

  8. JAVA二维码编码&解码

    QRCodeUtil.java package web; import java.awt.AlphaComposite; import java.awt.Color; import java.awt. ...

  9. Java二维码生成与解码工具Zxing使用

    Zxing是Google研发的一款非常好用的开放源代码的二维码生成工具,目前源码托管在github上,源码地址: https://github.com/zxing/zxing 可以看到Zxing库有很 ...

随机推荐

  1. QT 学习笔记概述

    以下笔记为在看书和实践的过程中的部分记录总结: 0. 窗口布局 1) 支持绝对布局和布局管理器布局; 2) 绝对布局不够灵活.无法自动调整大小,需要手动编写代码调整: 3) 布局管理器管理布局比较灵活 ...

  2. [Redis] 基于redis的分布式锁

    前言分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁. 可靠性首先,为了确保 ...

  3. Unity3D windows平台视频录制录屏插件 UnityRecorder

    例子:从官方例子简单改了 using UnityEditor;using UnityEditor.Recorder;using UnityEditor.Recorder.Input;using Sys ...

  4. python基础一 day6 序列操作集合

    列表删除:pop([index])有返回值 remove('元素‘)没有返回值 按元素删,元素是什么,就写什么,是数字就写数字,不要加引号,加引号就变成字符串了,没有就报错. 字典删除:pop( ’键 ...

  5. Liskon替换原则

    肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑.其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的. 定义1:如果对每一 ...

  6. ç7—UIViewController

    UIViewController继承了UIResponder,而UIResponder继承了NSObject,UIViewController是所有视图控制器的父类. 在MVC模式中,UIViewCo ...

  7. Node.js实现简单的爬取

    学习[node.js]也有几天时间了,所以打算写着练练手:索然我作为一个后端的选手,写起来还有那么一丝熟悉的感觉.emmm~~  ‘货’不多讲 ,开搞........ 首先是依赖选择: 代码块如下: ...

  8. C++ Simple Message/Logging Class

    在 Qt的源码与Protobuf 的代码中,看到相同的简单消息(日志)输出的类实现,基本思路是使用宏定义,重载临时类对象,调用类方法或者通过析构函数自动调用输出方法,实现消息输出.这里以 Protob ...

  9. HNOI2006 花仙子的魔法

    题目描述 题解: 考试的时候手画打表,然后半个小时磨了个式子:$$f[i][j]=f[i-1][j-1]+f[i][j-1]$$ 交上去$A$的时候都蒙了. 考后才知道原因. 考虑$n$维空间内原来有 ...

  10. mac rar文件解压缩

    在下载文件时经常遇到RAR格式的压缩文件, 之前从APP Store下载了免费的解压软件, 但是总觉着不好用, 广告信息很多. 好用的软件都要花钱, 所以找到了命令行解决的办法. 步骤如下: 首先需要 ...