根据内容生产条2维形码

将内容转换为2维条码 ,com.google.zxing 为1.5版本jar包

参考:
[url]
http://kb.cnblogs.com/a/1309789/
http://easymorse.googlecode.com/svn/tags/barcode-demo-0.1/src/main/java/com/easymorse/BarcodeWriterDemo.java
http://marshal.easymorse.com/archives/2791
http://blog.csdn.net/a_b_a_b_a_b_a_b/article/details/6197636
[/url]



import java.awt.image.BufferedImage;
import java.io.OutputStream;
import java.util.Hashtable;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.common.ByteMatrix;
import com.google.zxing.qrcode.QRCodeWriter;

public class BarcodeUtils {

Hashtable<EncodeHintType, String> hints;
{
hints = new Hashtable<EncodeHintType, String>();
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
}

public Boolean generate(String content,int width,int height,OutputStream outputStream){
QRCodeWriter writer = new QRCodeWriter();

try {
ByteMatrix matrix = writer.encode(content, BarcodeFormat.QR_CODE,
width, height, hints);
byte[][] matrixByte = matrix.getArray();

BufferedImage bimg = new BufferedImage(width, height,
BufferedImage.TYPE_BYTE_GRAY);
byte[] linearbuffer = new byte[width * height];

for (int y = 0,i=0; y < height; y++) {
for (int x = 0; x < width; x++) {
linearbuffer[i++] = matrixByte[y][x];
}
}
bimg.getRaster().setDataElements(0, 0, width, height, linearbuffer);
boolean result = ImageIO.write(bimg, "png", outputStream);
return result;
} catch (Exception e) {
throw new RuntimeException(e);
}
}

public static void main(String[] args) {


Boolean result= generate("content",200,200,new FileOutputStream("D:/123.png"));



}


}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值