-
大小: 103KB文件類型: .zip金幣: 2下載: 0 次發布日期: 2021-06-02
- 語言: Java
- 標簽: zxing??java??Springboot??工具類??
資源簡介
java 使用zxing生成二維碼(帶logo和文字說明)已經封裝 使用起來很方便 下載下來直接調用傳入參數就可以

代碼片段和文件信息
package?com.pindus.justiceplatformweb.common.publicFunction.utils;
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.qrcode.decoder.ErrorCorrectionLevel;
import?java.awt.*;
import?java.awt.image.BufferedImage;
import?java.io.File;
import?java.io.IOException;
import?java.util.HashMap;
import?java.util.Map;
import?java.util.objects;
import?javax.imageio.ImageIO;
/**
?*?@author:?miaoqixin
?*?@create:?2019-01-16?14:14
?*?Maven?方式導入jar
?*???????????
?*?????????????com.google.zxing
?*?????????????core
?*?????????????3.3.3
?*?????????
?*?Gradle?方式
?*?????????????compile?group:?‘com.google.zxing‘?name:?‘core‘?version:?‘3.3.3‘
?**/
public?class?ZXingCode?{
????//參數可設置到yml文件中
????private?static?final?int?QRCOLOR?=?0xFF000000;?//?默認是黑色
????private?static?final?int?BGWHITE?=?0xFFFFFFFF;?//?背景顏色
????private?static?final?int?WIDTH?=?400;?//?二維碼寬
????private?static?final?int?HEIGHT?=?400;?//?二維碼高
????//?用于設置QR二維碼參數
????private?static?Mapject>?hints?=?new?HashMapject>()?{
????????private?static?final?long?serialVersionUID?=?1L;
????????{
????????????put(EncodeHintType.ERROR_CORRECTION?ErrorCorrectionLevel.H);?//?設置QR二維碼的糾錯級別(H為最高級別)具體級別信息
????????????put(EncodeHintType.CHARACTER_SET?“utf-8“);?//?設置編碼方式
????????????put(EncodeHintType.MARGIN?0);
????????}
????};
????/**
?????*?@author?miaoqixin
?????*?Springboot?使用zxing生成二維碼(帶logo和文字說明的)
?????*?ExportExcel.exportExcel(titlerowNamedataList“POI導出“response);
?????*?@param?logoFile??????logo圖片文件
?????*?@param?codeFileUrl???二維碼儲存地址
?????*?@param?qrUrl?????????二維碼內容
?????*?@param?note??????????二維碼說明
?????*?@throws?ZXingCode
?????*/
????public?static?void?drawLogoQRCode(File?logoFile?File?codeFileUrlString?qrUrl?String?note)?throws?IOException?WriterException?{?//圖片文件???二維碼儲存地址??網頁路徑???二維碼說明?
????????MultiFormatWriter?multiFormatWriter?=?new?MultiFormatWriter();
????????//?參數順序分別為:編碼內容,編碼類型,生成圖片寬度,生成圖片高度,設置參數
????????BitMatrix?bm?=?multiFormatWriter.encode(qrUrl?BarcodeFormat.QR_CODE
????????????????WIDTH?HEIGHT?hints);
????????BufferedImage?image?=?new?BufferedImage(WIDTH?HEIGHT
????????????????BufferedImage.TYPE_INT_RGB);
????????//?開始利用二維碼數據創建Bitmap圖片,分別設為黑(0xFFFFFFFF)白(0xFF000000)兩色
????????for?(int?x?=?0;?x?????????????for?(int?y?=?0;?y?????????????????image.setRGB(x?y?bm.get(x?y)???QRCOLOR?:?BGWHITE);
????????????}
????????}
????????int?width?=?image.getWidth();
????????int?height?=?image.getHeight();
????????if?(objects.nonNull(logoFile)?&&?logoFile.exists())?{
????????????//?構建繪圖對象
????????????Graphics2D?g?=?image.createGraphics();
????????????//?讀取Logo圖片
????????????Buf
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????7306??2019-01-16?17:16??ZXingCode.java
?????文件??????120717??2019-01-16?17:22??接口調用.png
評論
共有 條評論