`
bdk82924
  • 浏览: 563361 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Java生成二维码或一维条形码(待续 未完)

 
阅读更多

Java生成二维码或一维条形码(待续)

 

前段时间用了“我查查”的软件

 

手机可以直接扫描条码,所以自己也想来试试

 

需要研究的如下

1、一维码的 读取、生成

2、二维码的 读取、生成

3、使用摄像头 直接读取条码(待研究)

4、使用条码枪,利用dll读取条码(待研究)

 

下面是收集的相关资料

QR Code二维条形码的生成和读取解析和摄像头的读取  http://www.i5a6.com/?p=556
Java实现二维码QRCode的编码和解码  http://www.2cto.com/kf/201108/98471.html

条形码处理类库 ZXing  http://www.oschina.net/p/zxing

相关jar 包下载 http://swetake.com/qr/

 

 

代码包结构如下

├─一维条码
│      Read.java
│      Write.java

└─二维条码
        QRCodeDecoderHandler.java
        QRCodeEncoderHandler.java
        Read2.java
        TxmWrite.java
        Write2.java

 

jar包含

    jbarcode-0.2.8.jar
    qrcode.jar
    Qrcode_swetake.jar
    zxing1.3_core.jar
    zxing1.3_javase.jar

 

 

 

 

package 二维条码;

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.net.URL;

import javax.imageio.ImageIO;

import jp.sourceforge.qrcode.QRCodeDecoder;
import jp.sourceforge.qrcode.data.QRCodeImage;
import jp.sourceforge.qrcode.util.ContentConverter;

import com.swetake.util.Qrcode;

//二维条形码

public class TxmWrite
{
    public static void main(String[] args) throws Exception
    {
        TxmWrite test = new TxmWrite();
        test.creatTxm("676317283718啊好的乖哈苏德");
        test.readTxm("TxmQRCode.png");
    }

    /**
     * 创建二维条形码
     *
     * @param param
     *            比如身份证号码
     * @throws Exception
     */
    public void creatTxm(String param) throws Exception
    {
        Qrcode qrcode = new Qrcode();
        qrcode.setQrcodeErrorCorrect('M');
        qrcode.setQrcodeEncodeMode('B');
        qrcode.setQrcodeVersion(7);

        byte[] bstr = param.getBytes("UTF-8");
        BufferedImage bi = new BufferedImage(139, 139, BufferedImage.TYPE_INT_RGB);
        Graphics2D g = bi.createGraphics();
        g.setBackground(Color.WHITE); // 背景颜色
        g.clearRect(0, 0, 139, 139);
        g.setColor(Color.BLACK); // 条码颜色
        if (bstr.length > 0 && bstr.length < 123)
        {
            boolean[][] b = qrcode.calQrcode(bstr);
            for (int i = 0; i < b.length; i++)
            {
                for (int j = 0; j < b.length; j++)
                {
                    if (b[j][i])
                    {
                        g.fillRect(j * 3 + 2, i * 3 + 2, 3, 3);
                    }
                }

            }
        }
        g.dispose();
        bi.flush();
        String FilePath = "TxmQRCode.png";
        File f = new File(FilePath);
        ImageIO.write(bi, "png", f);
    }

    /**
     * 解析二维条形码
     *
     * @param path
     *            条形码图片的路径
     * @throws Exception
     */
    public void readTxm(String path) throws Exception
    {
        QRCodeDecoder decoder = new QRCodeDecoder();
        BufferedImage image = null;
        if (path.startsWith("http://"))
        {
            image = ImageIO.read(new URL(path));
        } else
        {
            image = ImageIO.read(new File(path));
        }
        String decodedString = new String(decoder.decode(new J2SEImage1(image)), "UTF-8");
        decodedString = ContentConverter.convert(decodedString);
        System.out.println("条码内容:" + decodedString);
    }

}

class J2SEImage1 implements QRCodeImage
{
    BufferedImage image;

    public J2SEImage1(BufferedImage source)
    {
        this.image = source;
    }

    public int getWidth()
    {
        return image.getWidth();
    }

    public int getHeight()
    {
        return image.getHeight();
    }

    public int getPixel(int x, int y)
    {
        return image.getRGB(x, y);

    }
}

 

 

分享到:
评论

相关推荐

    JAVA 生成二维码并设置失效机制

    1.通过QRCode.jar包生成二维码,可设置二维码图片格式,二维码图片存放路径,二维码尺寸,二维码颜色 2.二维码扫描内容分为两种,1种为链接式,如:www.zdkc.com,通过链接展示访问的内容,1种为json数据展示,通过...

    java实现生成二维码(包括必要jar)

    二维码(Quick Response Code)是一种二维条形码,能够存储大量的文本、数字、网址等信息,通过手机或其他设备扫描即可快速读取。相比传统的条形码,二维码具有信息容量大、纠错能力强、编码范围广等特点。 在Java...

    java生成二维码并保存到本地

    在Java编程环境中,生成二维码并将其保存到本地是一项常见的任务,尤其在移动互联网应用、数据交换和物联网场景中。二维码(Quick Response Code)作为一种高效的信息载体,能够存储大量的文本、URL或其他数据,便于...

    java生成二维码_java将二维码转换成base64

    这里以`ZXing`为例,它是一个开源项目,提供了多种条码和二维码的生成与读取功能。要使用`ZXing`,首先需要将其依赖添加到项目中,如果是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;...

    Java后台生成二维码工具类

    Java后台生成二维码工具类

    Java 生成二维码代码

    二维码是一种快速、便捷的信息交换方式,广泛应用于商品营销、支付交易、签到管理、社交推广、文档处理、物流追踪、链接分享、出行交通、应用下载和疫情防控等众多领域,以提供便利、追踪、管理和传递信息,并为用户...

    java实现条形码二维码生成含文字标签信息

    它支持多种条码格式,包括一维条形码(如EAN-13、UPC-A)和二维条形码(如QR Code、Data Matrix)。在Java环境下,我们可以利用ZXing的`com.google.zxing`包中的类和方法来创建条形码和二维码。 首先,要生成条形码...

    java生成二维码以及二维码转base64字符串给前端

    二维码是一种二维条形码,可以存储大量的数据,如网址、文本、图片等。在Java中,我们可以使用开源库如`com.google.zxing`(ZXing,意为“Zebra Crossing”)来生成二维码。ZXing库提供了多种编码和解码的功能,包括...

    java excel生成二维码(可以添加图标和文字).zip

    `qrcode.java`可能是实现二维码生成的主要类,通过调用相关方法,将数据编码为二维条形码形式。例如,你可以创建一个QRCode实例,设置编码内容、纠错级别、尺寸等参数,然后生成对应的图像文件。 2. **SpringBoot...

    java生成二维码demo

    Java作为一种跨平台的编程语言,提供了多种库来实现二维码的生成,其中ZXing(Zebra Crossing)是一个非常流行的开源项目,专门用于处理一维条形码和二维条形码,包括二维码的生成与解析。 ZXing,即“斑马线”,...

    Java实现的生成二维码和解析二维码URL操作示例

    Java 实现生成二维码和解析二维码 URL 操作示例 Java 是一种广泛使用的...Java 实现生成二维码和解析二维码 URL 操作示例提供了一个完整的解决方案,涵盖了生成二维码、解析二维码和文件读写操作等多个方面的内容。

    ireport生成一维码和google zxing二维码

    ZXing,意为“条形码扫描”,是一个强大的工具,支持多种一维码和二维码的生成和解码。其核心功能包括编码(生成二维码或条形码图像)和解码(识别图像中的条形码)。ZXing提供了多种语言的API,包括Java,便于...

    Java生成二维码jar及源码

    首先,二维码(Quick Response Code)是一种二维条形码,能够存储比传统条形码更多的信息,包括文本、网址、联系人信息等。Java生成二维码主要依赖于特定的库,如`com.google.zxing`(ZXing,意为“Zebra Crossing”...

    java生成二维码工具类(带logo和文字说明) 很实用

    `ZXing`(Zebra Crossing)是一个开源的二维码和条形码处理库,它提供了多种格式的编码和解码功能。本教程将深入讲解如何使用ZXing库在Java环境中生成带有Logo和文字说明的二维码,并提供一个实用的工具类。 首先,...

    Java生成二维码图片

    Zxing是一个开源项目,提供了全面的条码解码和编码能力,包括生成二维码。以下是一个简单的使用Zxing生成二维码的步骤: 1. 引入Zxing库:在你的项目中,你需要引入Zxing的相关依赖。如果你使用的是Maven,可以在...

    java二维码生成和添加中间图片

    在Java中,生成二维码主要通过ZXing(Zebra Crossing)库,这是一个开源的多格式一维/二维条码图像处理库。ZXing提供了一系列API,可以方便地生成和解析各种类型的二维码。要生成带有中间图片的二维码,我们需要额外...

    JAVA生成二维码Demo源码

    JAVA生成二维码Demo源码,直接导入运行即可。一共只有一个包和两个类,很简单的小Demo,适合新手学习。

    java生成二维码图片

    此外,ZXing库还支持其他功能,如读取二维码、条形码等,使得在Java中处理条码任务变得非常便捷。 在压缩包文件`erweiCode`中,可能包含了用于演示或测试生成二维码的代码、配置文件或者其他相关资源。你可以通过...

    java生成二维码,中间带logo,logo居中,完美实现

    在Java编程环境中,生成带有logo的二维码是一种常见的需求,尤其在品牌推广或个性化设计中。本文将详细讲解如何使用Java实现这一功能,并确保logo居中且大小可调,以达到完美的视觉效果。 首先,我们需要引入生成...

Global site tag (gtag.js) - Google Analytics