Java 生成二维码

来源:互联网 发布:写轮眼隐形眼镜淘宝 编辑:程序博客网 时间:2024/06/05 18:36

1.java这边的话生成二维码有很多开发的jar包如zxing,qrcode.q前者是谷歌开发的后者则是小日本开发的,这里的话我使用zxing的开发包来弄


2.先下载zxing开发包,这里用到的只是core那个jar包


3.使用zxing开发还需要一个类,代码如下

01package org.lxh; 02import com.google.zxing.common.BitMatrix;03 04import javax.imageio.ImageIO; 05import java.io.File; 06import java.io.OutputStream; 07import java.io.IOException; 08import java.awt.image.BufferedImage; 09 10 11public final class MatrixToImageWriter {12 13private static final intBLACK = 0xFF000000;14private static final intWHITE = 0xFFFFFFFF;15 16private MatrixToImageWriter() {} 17 18 19public static BufferedImage toBufferedImage(BitMatrix matrix) {20int width = matrix.getWidth(); 21int height = matrix.getHeight(); 22BufferedImage image = newBufferedImage(width, height, BufferedImage.TYPE_INT_RGB);23for (int x = 0; x < width; x++) {24for (int y = 0; y < height; y++) {25image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);26} 27} 28return image; 29} 30 31 32public static void writeToFile(BitMatrix matrix, String format, File file)33throws IOException { 34BufferedImage image = toBufferedImage(matrix);35if (!ImageIO.write(image, format, file)) {36throw new IOException("Could not write an image of format "+ format +" to " + file); 37} 38} 39 40 41public static voidwriteToStream(BitMatrix matrix, String format, OutputStream stream)42throws IOException { 43BufferedImage image = toBufferedImage(matrix);44if (!ImageIO.write(image, format, stream)) {45throw new IOException("Could not write an image of format "+ format); 46} 47} 48 49}

4.借助上面的类生成二维码

01package org.lxh; 02 03import java.io.File; 04import java.util.Hashtable; 05 06import com.google.zxing.BarcodeFormat;07import com.google.zxing.EncodeHintType;08import com.google.zxing.MultiFormatWriter;09import com.google.zxing.WriterException;10import com.google.zxing.common.BitMatrix;11 12public class Test { 13 14/**15* @param args16* @throws Exception 17*/18public static void main(String[] args)throws Exception { 19String text = "http://www.baidu.com";20int width = 300; 21int height = 300; 22//二维码的图片格式 23String format = "gif";24Hashtable hints = newHashtable(); 25//内容所使用编码 26hints.put(EncodeHintType.CHARACTER_SET,"utf-8"); 27BitMatrix bitMatrix = newMultiFormatWriter().encode(text, 28BarcodeFormat.QR_CODE, width, height, hints);29//生成二维码 30File outputFile = newFile("d:"+File.separator+"new.gif");31MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);32 33} 34 35}

text就是二维码的内容里这里可以使普通的文字也可以是链接,很简单吧最后把生成的二维码图片给大家

0 0
原创粉丝点击