- 浏览: 2203922 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1240)
- mac/IOS (287)
- flutter (1)
- J2EE (115)
- android基础知识 (582)
- android中级知识 (55)
- android组件(Widget)开发 (18)
- android 错误 (21)
- javascript (18)
- linux (70)
- 树莓派 (18)
- gwt/gxt (1)
- 工具(IDE)/包(jar) (18)
- web前端 (17)
- java 算法 (8)
- 其它 (5)
- chrome (7)
- 数据库 (8)
- 经济/金融 (0)
- english (2)
- HTML5 (7)
- 网络安全 (14)
- 设计欣赏/设计窗 (8)
- 汇编/C (8)
- 工具类 (4)
- 游戏 (5)
- 开发频道 (5)
- Android OpenGL (1)
- 科学 (4)
- 运维 (0)
- 好东西 (6)
- 美食 (1)
最新评论
-
liangzai_cool:
请教一下,文中,shell、C、Python三种方式控制led ...
树莓派 - MAX7219 -
jiazimo:
...
Kafka源码分析-序列5 -Producer -RecordAccumulator队列分析 -
hp321:
Windows该命令是不是需要安装什么软件才可以?我试过不行( ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
hp321:
Chenzh_758 写道其实直接用一下代码就可以解决了:JP ...
ImageIO读jpg的时候出现javax.imageio.IIOException: Unsupported Image Type -
huanghonhpeng:
大哥你真强什么都会,研究研究。。。。小弟在这里学到了很多知识。 ...
android 浏览器
在http://code.google.com/p/zxing/下载zxing压缩包(我用的Zxing-1.7)
附件是我把1.7源码打的一个jar包
封装成一个类.
ImgUtil.java
下面是测试类:
下面是生成的两个图片:
你看好了,我文章是放在j2ee下,不是放在android下的.....android下没BufferedImage这个类
生成读取都可以
附件是我把1.7源码打的一个jar包
封装成一个类.
ImgUtil.java
package com.iaiai; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Hashtable; import javax.imageio.ImageIO; import com.google.zxing.BarcodeFormat; import com.google.zxing.BinaryBitmap; import com.google.zxing.DecodeHintType; import com.google.zxing.EncodeHintType; import com.google.zxing.LuminanceSource; import com.google.zxing.MultiFormatReader; import com.google.zxing.MultiFormatWriter; import com.google.zxing.Reader; import com.google.zxing.ReaderException; import com.google.zxing.Result; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.common.HybridBinarizer; /** * * <p> * Title: ImgUtil.java * </p> * <p> * E-Mail: 176291935@qq.com * </p> * <p> * QQ: 176291935 * </p> * <p> * Http: iaiai.iteye.com * </p> * <p> * Create time: 2011-9-30 * </p> * * @author 丸子 * @version 0.0.1 */ public class ImgUtil { private static final int BLACK = 0xff000000; private static final int WHITE = 0xFFFFFFFF; /** * 读取一维和二维码 * * @param path * 文件地址,全路径 * @return */ public static String read(String path) { return read(path, "UTF-8"); } /** * 读取一维和二维码 * * @param path * 文件地址,全路径 * @param coding * 文字编码 * @return */ public static String read(String path, String coding) { try { Reader reader = new MultiFormatReader(); File file = new File(path); BufferedImage image; image = ImageIO.read(file); if (image == null) { return null; } LuminanceSource source = new BufferedImageLuminanceSource(image); BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); Result result; Hashtable hints = new Hashtable(); hints.put(DecodeHintType.CHARACTER_SET, coding); // 解码设置编码方式为:utf-8 result = new MultiFormatReader().decode(bitmap, hints); String resultStr = result.getText(); return resultStr; } catch (Exception ex) { return null; } } /** * 生成1维码图片 * * @param path * 文件地址,全路径 * @param content * 内容 */ public static void write1D(String path, String content) { write1D(path, content, "png", 200, 100); } /** * 生成1维码图片 * * @param path * 文件地址,全路径 * @param content * 内容 * @param suffix * 图片后缀 * @param imgWidth * 图片宽 * @param imgHeight * 图片高 */ public static void write1D(String path, String content, String suffix, int imgWidth, int imgHeight) { int codeWidth = 3 + (7 * 6) + 5 + (7 * 6) + 3; codeWidth = Math.max(codeWidth, imgWidth); try { BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.CODE_128, codeWidth, imgHeight, null); MatrixToImageWriter.writeToFile(bitMatrix, suffix, new File(path)); } catch (Exception e) { e.printStackTrace(); } } /** * 生成2维码图片 * * @param path * 文件地址,全路径 * @param content * 文字内容,不能为空 */ public static void write2D(String path, String content) { write2D(path, content, "png", "UTF-8", 200, 200); } /** * 生成2维码图片 * * @param path * 文件地址,全路径 * @param content * 文字内容,不能为空 * @param suffix * 生成图片后缀 * @param coding * 编码 * @param imgWidth * 图片宽 * @param imgHeight * 图片高 */ public static void write2D(String path, String content, String suffix, String coding, int imgWidth, int imgHeight) { try { BitMatrix byteMatrix; Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>(); hints.put(EncodeHintType.CHARACTER_SET, coding); // 文字编码。 byteMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, imgWidth, imgHeight, hints); File file = new File(path); BufferedImage image = toBufferedImage(byteMatrix); ImageIO.write(image, suffix, file); // QRCodeWriter writer = new QRCodeWriter(); // BitMatrix bitMatrix = null; // try { // bitMatrix = writer.encode("姓名:张三,性别:男,年龄:25,籍贯:中国北京", // BarcodeFormat.QR_CODE, 300, 300); // MatrixToImageWriter.writeToFile(bitMatrix, "png", new // File("D://test.png")); // } catch (WriterException e) { // e.printStackTrace(); // } catch (IOException e) { // e.printStackTrace(); // } } catch (Exception e) { e.printStackTrace(); } } private static BufferedImage toBufferedImage(BitMatrix matrix) { int width = matrix.getWidth(); int height = matrix.getHeight(); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE); } } return image; } }
下面是测试类:
package com.iaiai; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Hashtable; import javax.imageio.ImageIO; import com.google.zxing.BarcodeFormat; import com.google.zxing.BinaryBitmap; import com.google.zxing.DecodeHintType; import com.google.zxing.EncodeHintType; import com.google.zxing.LuminanceSource; import com.google.zxing.MultiFormatReader; import com.google.zxing.MultiFormatWriter; import com.google.zxing.Reader; import com.google.zxing.ReaderException; import com.google.zxing.Result; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.common.BitMatrix; import com.google.zxing.common.HybridBinarizer; /** * * <p> * Title: Iaiai.java * </p> * <p> * E-Mail: 176291935@qq.com * </p> * <p> * QQ: 176291935 * </p> * <p> * Http: iaiai.iteye.com * </p> * <p> * Create time: 2011-9-30 * </p> * * @author 丸子 * @version 0.0.1 */ public class Iaiai { /** * @param args */ public static void main(String[] args) { ImgUtil.write2D("D:/test.png", "姓名:丸子,性别:男,年龄:未知,籍贯:河北石家庄"); System.out.println(ImgUtil.read("D://test.png")); ImgUtil.write1D("d:/test1.png", "122222"); //1维码必须是数字,不能为中文 System.out.println(ImgUtil.read("D:/test1.png")); } }
下面是生成的两个图片:
评论
8 楼
xiuxiu123
2012-09-10
请问大神们 识别效率改如何解决,有些识别需要花费很长时间的?
7 楼
zbhcit
2012-08-29
你好,请教一下android如何解析二维码图片,不是通过扫描,我做了一个例子,有些可以解析,有些会报com.google.zxing.FormatException,不知道楼主有么接触过???
6 楼
qinyonghui
2012-05-04
你好,你能够贴上解析一/二维码的代码吗,我现在要通过这些一二维码的图片来解析他们里面的内容,谢谢,qinyonghui20@qq.com
5 楼
iaiai
2012-03-22
cokepanm 写道
你好,我加了你的zxing.jar后说缺
java.lang.NoClassDefFoundError: java.awt.image.BufferedImage
java.lang.NoClassDefFoundError: java.awt.image.BufferedImage
你看好了,我文章是放在j2ee下,不是放在android下的.....android下没BufferedImage这个类
4 楼
cokepanm
2012-03-21
你好,我加了你的zxing.jar后说缺
java.lang.NoClassDefFoundError: java.awt.image.BufferedImage
java.lang.NoClassDefFoundError: java.awt.image.BufferedImage
3 楼
iaiai
2012-02-01
陈文景 写道
请问你的代码是 把二维码图片解析成字符串吗 求指点
生成读取都可以
2 楼
小杨学JAVA
2012-02-01
可以发一份zxing的源码吗,我下的么有com.google.zxing.client.j2se.BufferedImageLuminanceSource;
1 楼
陈文景
2011-12-07
请问你的代码是 把二维码图片解析成字符串吗 求指点
发表评论
-
小程序textarea完美填坑
2020-07-07 16:09 529相信做微信小程序的码友们都被textarea这个原生组件坑过 ... -
Nginx+Https自己敲命令生成证书
2020-05-18 09:35 955一、准备 环境:centos6.8 ... -
https证书生成环境搭建配置(基于Tomcat和Nginx)
2020-04-24 11:06 828一、基于Tomcat、JDK内置密钥工具: 1、生成服务端证 ... -
史上最强Tomcat8性能优化
2019-11-01 21:41 911授人以鱼不如授人以渔 ... -
SpringBoot配置HTTPS,并实现HTTP访问自动转HTTPS访问
2019-10-07 09:13 5661.使用jdk自带的 keytools 创建证书 打开cmd ... -
Spring Boot工程集成全局唯一ID生成器 UidGenerator
2019-09-16 09:04 862概述 流水号生成器(全局唯一 ID生成器)是服务化系统的基础 ... -
CentOS7下Redis的安装与使用
2019-08-17 11:45 614一、手动安装过程 1、准备工作(安装gcc依赖) yum ... -
Nginx与tomcat组合的简单使用
2019-08-17 10:05 445配置tomcat跳转 请求http出现400的时候在这里配置 ... -
linux下lvs+keepalived安装配置
2019-07-10 14:20 466keepalived主机:192.168.174. ... -
使用Docker搭建Tomcat运行环境
2019-02-08 21:32 4951 准备宿主系统 准备一 ... -
Netty笔记-GlobalEventExecutor
2019-02-06 23:00 6441.概念 /** * Single-thread si ... -
Netty4转发服务的实现方案
2019-02-06 15:03 1147如果用Netty做转发服务(不需要同步应答),Netty中有一 ... -
java手机号归属地查询
2018-12-25 17:16 751所需的包:carrier-1.75.jar 、geocoder ... -
基于Netty4的HttpServer和HttpClient的简单实现
2018-10-17 20:02 701Http 消息格式: Http request: Met ... -
javafx : 支持使用微调(spinner)控制的数字的文本框(NemberTextField)
2018-10-16 00:00 1100最近花了一些时间学习javaFX, 要更深入地理解新GUI包, ... -
我的Java(定制你的Java/JavaFX Runtime)
2018-10-12 23:29 683最新的JDK 11发布了,撒花 新版本的JDK终于有了ope ... -
javaFX的几个新特性,让swing彻底过时
2018-10-12 22:42 672首先声明,Java的GUI曾经 ... -
mac os系统用install4j把jar包生成app
2018-10-05 23:02 1440install4j有windows版也有mac版 mac电脑 ... -
JavaFX Alert对话框
2018-10-05 22:01 23841. 标准对话框 消息对话框 Alert alert = ... -
IDEA Properties中文unicode转码问题
2017-02-17 19:54 1053摘要: 如何让IDEA的properties中的中文进行uni ...
相关推荐
在本文中,我们将深入探讨如何使用ZXing来生成和解析二维码,以及如何利用QRcode.java类创建二维码名片。 1. **生成二维码** - **ZXing API介绍**:ZXing提供了Java API,可以方便地集成到各种项目中。主要的类有`...
Google二维码生成解析zxing库 Android 代码,可以实现二维码生成,亲测可用。 代码为2016年6月9日从GitHub下载的,版本为3.2.1 GitHub对应地址代码为: https://github.com/zxing/zxing jar包原始下载地址为:...
在使用ZXing生成和解析二维码时,我们需要了解以下几个关键概念和技术: 1. **生成二维码**: - **MatrixToImageWriter**: 这是ZXing库中的一个类,用于将二维码的数据矩阵(一个二维的布尔值数组)转换为图像文件...
总之,使用ZXing开发的二维码/条形码/带logo彩色二维码例子是一个实用的项目,它扩展了ZXing的基本功能,增加了视觉吸引力和品牌识别度。对于开发者来说,掌握这样的技术可以提升应用程序的用户体验,特别是在市场...
1. 使用Zxing生成二维码 在Java环境中,我们可以使用Zxing的`MultiFormatWriter`和`BitMatrix`类来生成二维码。首先,我们需要将要编码的数据转换为字节数组,然后调用`MultiFormatWriter.encode()`方法生成`...
在IT行业中,二维码作为一种高效的信息编码方式,广泛应用于各种场景,如链接分享、电子票务、数据传输等。Java作为一款流行的编程语言,...通过理解并运用上述方法,你可以轻松地生成和解析二维码,满足各种实际需求。
2. **生成二维码**:使用ZXing生成二维码的代码示例如下: ```java import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.QRCodeWriter; import ...
在本案例中,我们主要关注的是ZXing在生成和解析二维码方面的应用。 **1. 二维码生成** 生成二维码是ZXing库的核心功能之一。二维码可以存储大量的文本信息,如网址、联系信息、文本字符串等。在Java环境中,我们...
ZXing(Zebra Crossing)是一个开源的、多平台的条形码和二维码处理库,它提供了扫描、解码以及生成二维码和条形码的能力。在移动应用开发中,ZXing通常用于实现二维码/条形码扫描功能,为用户提供便捷的数据交换...
在Java中使用Zxing生成二维码,首先需要将Zxing库添加到项目依赖中。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> ...
在IT行业中,生成二维码是一种...总之,ZXing库提供了一个强大的工具集,使得开发者能够轻松地在各种应用中实现二维码的生成和解析。无论是在移动应用、网站还是桌面程序中,ZXing都能帮助你实现高效的数据交换功能。
Java 实现生成二维码和解析二维码 URL 操作示例 Java 是一种广泛使用的...Java 实现生成二维码和解析二维码 URL 操作示例提供了一个完整的解决方案,涵盖了生成二维码、解析二维码和文件读写操作等多个方面的内容。
C#作为.NET框架的主要编程语言,同样可以通过各种库来实现二维码的生成与解析。本文将深入探讨如何使用ZXing.Net库在C#中创建支持中文的二维码,并提供一个简易的Demo示例。 ZXing(Zebra Crossing)是一个开源的、...
在Java工程中使用ZXing生成二维码,首先需要将库的依赖引入项目。这里提到的"com文件夹"包含了ZXing库的Java源代码,解压后将其放入项目的`src`目录下,意味着开发者可以直接使用这些源代码,而无需通过Maven或...
这个“Zxing生成的AES加密二维码”示例展示了如何结合这两者,即使用强大的AES(Advanced Encryption Standard)加密技术和Zxing(ZXing,意为“条形码零知识”)二维码库来确保数据的安全传输。下面我们将深入探讨...
在Java环境中,ZXing提供了方便的API供开发者使用,使得生成和解析二维码变得简单易行。在这个实例中,我们将探讨如何使用ZXing 2.2版本的jar包来实现二维码的生成与解析。 首先,我们需要导入ZXing的依赖。如果你...
在标题“利用ZXING生成简易二维码”中,提到的核心知识点是使用ZXing库来创建二维码。ZXing库提供了Java、Android以及命令行工具等多种方式来操作二维码。生成二维码的基本步骤包括: 1. **配置ZXing**: 首先,你...
在Java环境中,使用Zxing库可以方便地创建和解析二维码。以下将详细介绍如何使用Java和Zxing实现二维码的生成与读取。 1. **安装Zxing库** 首先,你需要在项目中引入Zxing库。如果你使用的是Maven,可以在`pom.xml...
6. 生成和解码:ZXing库同时支持生成和解码功能,这意味着你不仅可以使用它创建二维码,还可以读取并解析二维码中的数据。 总的来说,ZXing是一个强大的条码和二维码处理工具,3.3.1版本的发布意味着它已经经过了多...
在Spring Boot应用中整合ZXing库,您可以轻松地生成和解析二维码,这在现代的数字化环境中具有广泛的用途。ZXing,全称为“Zebra Crossing”,是一个开源的条码处理库,支持多种一维和二维条码,包括QR码。QR码...