java生成二维码图片
这次我们用到zxing首先介绍一下zxing,ZXing(“斑马线”)是一种开放源代码,多格式的1D / 2D条码图像处理库,以Java实现,并带有其他语言的端口。
Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码,这是一个开源的项目 Git地址:https://github.com/zxing/zxing
1.pom.xml中先引入依赖
<dependency>
<groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.0</version></dependency><dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.0</version></dependency>2.test 代码
/**
*二维码实现
* @param msg
* @param path
*/
public static void getBarCode(String msg,String path){
try {
File file=new File(path);
OutputStream ous=new FileOutputStream(file);
if(StringUtils.isEmpty(msg) || ous==null)
return;
String format = "png";
Map<EncodeHintType,String> map =new HashMap<EncodeHintType, String>();
//设置编码 EncodeHintType类中可以设置MAX_SIZE, ERROR_CORRECTION,CHARACTER_SET,DATA_MATRIX_SHAPE,AZTEC_LAYERS等参数
map.put(EncodeHintType.CHARACTER_SET,"UTF-8");
map.put(EncodeHintType.MARGIN,"2");
//生成二维码
BitMatrix bitMatrix = new MultiFormatWriter().encode(msg, BarcodeFormat.QR_CODE,300,300,map);
MatrixToImageWriter.writeToStream(bitMatrix,format,ous);
}catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String msg ="maodoudou";
String path = "/Users/ww/Desktop/gitwork/whl.png";
getBarCode(msg,path);
}
msg是二维码的信息,path是生成二维码后存放的路径
其中:
EncodeHintType 定义样式
publicenumEncodeHintType {
ERROR_CORRECTION, CHARACTER_SET, DATA_MATRIX_SHAPE, /** @deprecated */ @Deprecated MIN_SIZE, /** @deprecated */ @Deprecated MAX_SIZE, MARGIN, PDF417_COMPACT, PDF417_COMPACTION, PDF417_DIMENSIONS, AZTEC_LAYERS, QR_VERSION; private EncodeHintType() { } } BarcodeFormat 设置二维码的类型
public enum BarcodeFormat {
AZTEC, CODABAR, CODE_39, CODE_93, CODE_128, DATA_MATRIX, EAN_8, EAN_13, ITF, MAXICODE, PDF_417, QR_CODE, RSS_14, RSS_EXPANDED, UPC_A, UPC_E, UPC_EAN_EXTENSION; private BarcodeFormat() { } }

浙公网安备 33010602011771号