java生成二维码到文件,java生成二维码转成BASE64,javabase64
分享于 点击 33305 次 点评:62
java生成二维码到文件,java生成二维码转成BASE64,javabase64
java生成二维码到文件,java生成二维码转成BASE64
如题,利用java和第三方库,把指定的字符串生成二维码,并且把二维码保存成图片,转换成BASE64格式。
需要的jar文件:package com.xueyoucto.xueyou;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.Hashtable;
/**
* Hello world!
*/
public class App {
public static void main(String[] args) throws IOException {
System.out.println("hello world");
String text = "999666111222";
int width = 300;
int height = 300;
String format = "png";
Hashtable hints = new Hashtable();
hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
BitMatrix bitMatrix = null;
try {
bitMatrix = new MultiFormatWriter().encode(text, BarcodeFormat.QR_CODE, width, height, hints);
} catch (WriterException e) {
e.printStackTrace();
}
//直接写入文件
File outputFile = new File("d:/new.png");
MatrixToImageWriter.writeToFile(bitMatrix, format, outputFile);
//通过流写入文件,不需要flush()
OutputStream os1 = new FileOutputStream("d:/new2.png");
MatrixToImageWriter.writeToStream(bitMatrix, format, os1);
BufferedImage image = MatrixToImageWriter.toBufferedImage(bitMatrix);
ByteArrayOutputStream os = new ByteArrayOutputStream();//新建流。
ImageIO.write(image, format, os);//利用ImageIO类提供的write方法,将bi以png图片的数据模式写入流。
byte b[] = os.toByteArray();//从流中获取数据数组。
String str = new BASE64Encoder().encode(b);
System.out.println(str);
}
}
运行结果:
图片:
把这个图片放在这个网址中验证一下图片在线转换base64: 结果发现和上面输出的相同。
当然,是不包含头部的。
如果没有jar包之类的,直接点我下载整个工程,不要你的积分噢!
相关文章
- 暂无相关文章
用户点评