`
小杨学JAVA
  • 浏览: 901675 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用com.google.zxing生成、解析二维码

阅读更多

http://code.google.com/p/zxing/downloads/list下载zxing压缩包(我用的Zxing-1.5),解压后将core/src和javase/src中的com文件夹整体复制到你的java工程中,这两个包里面包含java所用的java源码,

代码如下:

package com.easyoa.test;

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.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.ByteMatrix;
import com.google.zxing.common.HybridBinarizer;

public class Test {
   private static final int BLACK = 0xff000000;
   private static final int WHITE = 0xFFFFFFFF;
 /**
  * @param args
  */
 public static void main(String[] args) {
  Test test=new Test();
  test.encode();
 test.decode();
 }
 //编码
 /**
  * 在编码时需要将com.google.zxing.qrcode.encoder.Encoder.java中的
  *  static final String DEFAULT_BYTE_MODE_ENCODING = "ISO8859-1";修改为UTF-8,否则中文编译后解析不了
  */
 public void encode(){
  try { 
   String str = "姓名:张三,性别:男,年龄:25,籍贯:中国北京,";// 二维码内容 
   String path = "D://test.png"; 
   ByteMatrix byteMatrix; 
   byteMatrix= new MultiFormatWriter().encode(str, BarcodeFormat.QR_CODE, 200, 200);
   File file = new File(path); 
      writeToFile(byteMatrix, "png", file); 
  } catch (Exception e) { 
   e.printStackTrace(); 
  }
 }
 public static void writeToFile(ByteMatrix matrix, String format, File file)
 throws IOException {
BufferedImage image = toBufferedImage(matrix);
ImageIO.write(image, format, file);
}
 public static BufferedImage toBufferedImage(ByteMatrix 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) == 0 ? BLACK:WHITE);
       }
     }
     return image;
   }
 //解码
 public void decode(){
  try{
   Reader reader = new MultiFormatReader(); 
   String imgPath = "D://test.png"; 
   File file = new File(imgPath); 
   BufferedImage image; 
   try { 
    image = ImageIO.read(file); 
    if (image == null) { 
    System.out.println("Could not decode image"); 
    } 
    LuminanceSource source = new BufferedImageLuminanceSource(image); 
    BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source)); 
    Result result; 
    Hashtable hints= new Hashtable(); 
    hints.put(DecodeHintType.CHARACTER_SET, "utf-8"); 
    //解码设置编码方式为:utf-8,
    result = new MultiFormatReader().decode(bitmap,hints); 
    String resultStr = result.getText(); 
    System.out.println("解析后内容:"+resultStr);

   } catch (IOException ioe) { 
    System.out.println(ioe.toString()); 
   } catch (ReaderException re) { 
    System.out.println(re.toString()); 
   }

  }catch(Exception ex){
   System.out.println(ex.toString());
  }
 }

}

 

好了,运行一下是不是很简单?

生成后的二维码:

解码后:

解析后内容:姓名:张三,性别:男,年龄:25,籍贯:中国北京,

欢迎朋友留言交流;

<转载自:http://blog.csdn.net/a_b_a_b_a_b_a_b/article/details/6197636>

分享到:
评论

相关推荐

    com.google.zxing生成二维码的两个jar包

    通过这个jar包,开发者可以在Java环境中调用ZXing的API来生成或解析二维码。 2. `com.google.zxing-20180507-javase.jar`:这个jar包是ZXing针对Java标准版(Java SE)的特定实现,它提供了额外的功能,如图像处理...

    com.google.zxing二维码、条形码

    "com.google.zxing二维码、条形码" 这个标题指的是一个与二维码和条形码处理相关的库,它源自Google的一个开源项目ZXing(Zebra Crossing),这个库提供了对多种条码和二维码格式的读取和生成功能。 **描述解读:**...

    com.google.zxing 二维码生成与解析

    **标题:“com.google.zxing 二维码生成与解析”** **核心知识点:** 1. **ZXing库介绍**:ZXing,全称为“Zebra Crossing”,是Google开发的一个开源的、跨平台的条码读取库。它支持多种条码和二维码格式,包括QR...

    Google二维码生成(解析)zxing库Android

    Google二维码生成解析zxing库 Android 代码,可以实现二维码生成,亲测可用。 代码为2016年6月9日从GitHub下载的,版本为3.2.1 GitHub对应地址代码为: https://github.com/zxing/zxing jar包原始下载地址为:...

    谷歌的zxing方式生成二维码的jar包和已经写好的工具类

    这个助手类是为了简化使用ZXing生成二维码的过程,通常会封装一些常用方法,如设置二维码的内容、大小、纠错级别等。在实际使用时,只需要在项目中复制这个助手类,然后通过调用其提供的方法,就可以快速地生成...

    zxing 二维码 调用实例,解决低版本 白边问题

    2. **生成二维码**:使用ZXing生成二维码的代码示例如下: ```java import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.QRCodeWriter; import ...

    java使用谷歌zxing实现二维码生成读取

    在Java中使用ZXing实现二维码的生成和读取,首先需要引入ZXing库,例如这里提供的`zxing-3.2.1.jar`文件,这是ZXing的最新版本,包含了所有必要的功能模块。 **一、ZXing的使用** 1. **添加依赖** 将`zxing-3.2.1...

    com.google.zxing jar下载

    1. 条码和二维码生成:ZXing库提供了丰富的API,可以方便地生成各种类型的条码和二维码,适用于产品标识、网页链接、电子名片等多种场景。 2. 条码和二维码读取:ZXing库的解码能力强大,可以识别图片中的条码和...

    com.google.zxing两个jar包

    描述中提到的"5积分不贵,本人生产二维码必备,本人亲测,需要的同学可以下载",暗示这可能是某个平台上的资源分享,作者认为这个资源对于需要生成或解析二维码的开发者非常实用,并且他已经亲自测试过,确保其可用性...

    com.google.zxing.client.j2se.jar下载

    使用`com.google.zxing.client.j2se.jar`,开发者需要导入库并创建一个`BufferedImage`对象,该对象代表要解析的图像。然后,通过`com.google.zxing.common.BufferedImageLuminanceSource`类将图像转换为ZXing可以...

    java使用Zxing包生成和识别二维码

    下面是一个简单的示例代码,展示如何使用Zxing生成二维码并将其保存为图片文件: ```java import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import ...

    谷歌二维码jar包(zxing-3.3.2 && zxing-core.2.1 && zxing-javase-2.1)

    1. **创建二维码**: 使用ZXing提供的`com.google.zxing.EncodeHintType`和`com.google.zxing.qrcode.QRCodeWriter`类,设置编码类型、纠错级别、数据内容等参数,生成二维码图像。 2. **图像处理**:生成的二维码是...

    java 生成二维码 解析二位码 完整实例

    在Java编程语言中,生成和解析二维码是一种常见的需求,特别是在移动应用、数据交换或信息展示等领域。本实例将深入探讨如何使用Java实现这一功能。首先,我们需要了解二维码的基本原理和结构,然后我们将介绍如何...

    Zxing二维码生成与解析

    1. 使用Zxing生成二维码 在Java环境中,我们可以使用Zxing的`MultiFormatWriter`和`BitMatrix`类来生成二维码。首先,我们需要将要编码的数据转换为字节数组,然后调用`MultiFormatWriter.encode()`方法生成`...

    Google zxing 二维码生成

    在Java工程中使用ZXing生成二维码,首先需要将库的依赖引入项目。这里提到的"com文件夹"包含了ZXing库的Java源代码,解压后将其放入项目的`src`目录下,意味着开发者可以直接使用这些源代码,而无需通过Maven或...

    使用zxing生成解析二维码的实例

    在Java环境中,ZXing提供了方便的API供开发者使用,使得生成和解析二维码变得简单易行。在这个实例中,我们将探讨如何使用ZXing 2.2版本的jar包来实现二维码的生成与解析。 首先,我们需要导入ZXing的依赖。如果你...

    google.zxing二维码带logo生成工具

    3. **解析二维码**:除了生成,`google.zxing`还具备读取二维码的能力。它支持多种条码格式,包括QR码。通过扫描二维码图像,ZXing库可以解析出其中包含的信息,供应用程序使用。 在使用`Google.zxing二维码生成...

    JAVA生成Zxing二维码

    在Java环境中,使用Zxing库可以方便地创建和解析二维码。以下将详细介绍如何使用Java和Zxing实现二维码的生成与读取。 1. **安装Zxing库** 首先,你需要在项目中引入Zxing库。如果你使用的是Maven,可以在`pom.xml...

    ZXing生成二维码包

    在本案例中,我们主要关注的是ZXing在生成和解析二维码方面的应用。 **1. 二维码生成** 生成二维码是ZXing库的核心功能之一。二维码可以存储大量的文本信息,如网址、联系信息、文本字符串等。在Java环境中,我们...

    利用Google的ZXing工具包,生成和解析二维码图片

    接下来,我们详细讲解如何使用ZXing生成和解析二维码。 **一、生成二维码** 生成二维码主要涉及`com.google.zxing.client.j2se.MatrixToImageWriter`和`com.google.zxing.common.BitMatrix`两个类。以下是一个简单...

Global site tag (gtag.js) - Google Analytics