java-二维码编写zxing

zxing 这个是google的 
下载地址 
http://code.google.com/p/zxing/downloads/list

二维码源码案例

package com.utils;

import java.awt.image.BufferedImage;
import java.awt.image.DataBufferByte;
import java.io.File;
import java.io.IOException;
import java.util.Date;
import java.util.Hashtable;

import javax.imageio.ImageIO;

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;

public class UtilsQrCode {

    private static final int BLACK = 0xff000000;
    private static final int WHITE = 0xFFFFFFFF;

    /**
     * @param args
     */
    public static void main(String[] args) {
        File file = new File("C:\\Users\\huage\\Desktop\\图片\\"+new Date().getTime()+".png");
        encode("http://www.baidu.com", file, BarcodeFormat.QR_CODE, 200, 200);
    }

    /**
     * @param contents
     * @param file
     * @param format
     * @param width
     * @param height
     */
    public static  void encode(String contents, File file, BarcodeFormat format, int width, int height) {
        try {
            contents = new String(contents.getBytes("UTF-8"), "ISO-8859-1");
            Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
            hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
            hints.put(EncodeHintType.MARGIN, 1);
            BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, format, width, height,hints);
            BufferedImage image = toBufferedImage(bitMatrix);
            writeToFile(image, "png", file);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static byte[] imgToBytes(BufferedImage image){
        if( image == null ) return new byte[0];
        byte[] data = ((DataBufferByte) image.getData().getDataBuffer()).getData();
        return data;
    }

    public static void writeToFile(BufferedImage image, String format, File file) throws IOException {
        if( image == null || file == null ) return;
        ImageIO.write(image, format, file);
    }

    public 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) == true ? BLACK : WHITE);
            }
        }
        return image;
    }

}
时间: 2024-10-14 17:00:43

java-二维码编写zxing的相关文章

Java二维码生成与解码

基于google zxing 的Java二维码生成与解码 一.添加Maven依赖(解码时需要上传二维码图片,所以需要依赖文件上传包) <!-- google二维码工具 --> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.1.0</version> </dependen

java二维码生成

二维码,是一种采用黑白相间的平面几何图形经过相应的编码算法来记载文字.图画.网址等信息的条码图画.如下图 二维码的特色: 1.  高密度编码,信息容量大 可容纳多达1850个大写字母或2710个数字或1108个字节,或500多个汉字,比一般条码信息容量约高几十倍. 2.  编码规模广 该条码能够把图画.声响.文字.签字.指纹等能够数字化的信息进行编码,用条码表明出来:能够表明多种语言文字:可表明图画数据. 3.  容错能力强,具有纠错功用 这使得二维条码因穿孔.污损等导致部分损坏时,照样能够正确

条码扫描二维码扫描—ZXing android 改进版本

看了Vurtexゞ. 文章<[Android实例] 条码扫描二维码扫描——ZXing android 源码简化 (附:支持中文) >的基础上对代码进行了修改 1.增加了将代码嵌套入自己工程后传值的办法(初学,如果有更好的方法也希望告诉我,先谢谢了) 2.扫码界面进行了处理(初步实现了现有某些软件的样子,至于长的像谁就不说了) //画四个角的代码<br>paint.setColor(frameColor); canvas.drawRect(15 + frame.left, 15 +

java二维码编码和解析工具类

用到两个jar包: QRCode.jar Qrcodeen.jar package com.banmacoffee.utils; import java.awt.Color; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; imp

在WPF中开启摄像头扫描二维码(Media+Zxing)

原文:在WPF中开启摄像头扫描二维码(Media+Zxing) 近两天项目中需要添加一个功能,是根据摄像头来读取二维码信息,然后根据读出来的信息来和数据库中进行对比显示数据. 选择技术Zxing.WPFMediaKit.基本的原理就是让WPFmediaKit来对摄像头进行操作,然后Zxing这个库对图片进行分析大致就是这样. 在后台中定义了定时器,用于解析当前摄像头的图像,然后直接读数据. 需要注意的是一定要引入 using WPFMediaKit.DirectShow.Controls; us

Java生成带小图标的二维码-google zxing 工具类

近期一直忙于开发微信商城项目,应客户要求,要开发个有图标的二维码.经过两次改版,终于实现了该功能(第一次没有小图标,这次才整合好的),如下是完整代码 . 该代码使用Java7开发,另外使用 core-2.2.jar jar[http://pan.baidu.com/s/1skTwHQ1] 包 . 1 package com.rick.common.utils; 2 3 4 import java.awt.Color; 5 import java.awt.Graphics2D; 6 import

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

1 package com.csii.zxing.test; 2 3 import java.awt.image.BufferedImage; 4 import java.io.File; 5 import java.io.IOException; 6 import java.util.HashMap; 7 import java.util.Hashtable; 8 import java.util.Map; 9 10 import javax.imageio.ImageIO; 11 12 im

java 二维码

在http://www.ostools.net/qr看到了一个生成二维码的工具,于是就产生了一个想法: 为什么自己不做一个二维码的生成和解析工具呢?花了一个多钟的时间,嘿嘿,就做出来啦... 先来看看效果图吧: CODE_QR:  CODE_128:         PDF_417: 二维码的意思是: 下面是操作步骤: 一:下载zxing的压缩包: 可以到这里下载:http://code.google.com/p/zxing/downloads/list ZXing-2.1.zip:http:/

java二维码和微信

需要:   jelly-core-1.7.0.GA.jar 网站:   http://lychie.github.io/products.html 将下载下来的 jelly-core-1.7.0.GA.jar 丢到项目里,不需要编写任何 java 代码,只需要在项目的 web.xml 文件中配置相关信息即可. 验证码 基于 Servlet 实现,在 web.xml 中配置即可使用.并支持自定义样式,常用的配置项见下表: 属性名称 属性描述 默认值 可选值 border 边框 no no,yes

手把手教你生成二维码-google.zxing

一.目标 输入网址,生成网址的二维码 二.概况 1.效果:UI丑,但功能实现了 2.项目目录 三.用到的第三方资源 1.google的扫码包zxing 2.JQuery 四.步骤(用myEclipse) 1.新建工程,选择web project 2.加入第三方资源(zxing包和jQuery) 2.1 2.1.1复制,粘贴,加入zxing的jar包(所有文件在附件中下载) 2.2.2右键jar包加入buildpath 2.2加入jQuery文件 2.2.1在WebRoot下新建文件夹js 复制粘