資源簡介
java生成二維碼的demo,可以下載直接運行,并已經測試通過

代碼片段和文件信息
package?com.payplatform.util;
import?java.awt.image.BufferedImage;
import?java.io.File;
import?java.io.IOException;
import?java.util.HashMap;
import?java.util.Map;
import?javax.imageio.ImageIO;
import?com.google.zxing.BarcodeFormat;
import?com.google.zxing.Binarizer;
import?com.google.zxing.BinaryBitmap;
import?com.google.zxing.EncodeHintType;
import?com.google.zxing.LuminanceSource;
import?com.google.zxing.MultiFormatReader;
import?com.google.zxing.MultiFormatWriter;
import?com.google.zxing.NotFoundException;
import?com.google.zxing.Result;
import?com.google.zxing.WriterException;
import?com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import?com.google.zxing.common.BitMatrix;
import?com.google.zxing.common.HybridBinarizer;
public?class?QRCodeUtil?{
//二維碼顏色??
????private?static?final?int?BLACK?=?0xFF000000;??
????//二維碼顏色??
????private?static?final?int?WHITE?=?0xFFFFFFFF;??
??
????public?static?void?main(String[]?args)?throws?Exception?{
zxingCodeCreate(“http://www.baidu.com“?300?300?“D:/qrcode.jpg“?“jpg“);
//???? zxingCodeAnalyze(“D:/qrcode.jpg“);
}
????/**?
?????*?生成二維碼
?????*?@param?text????二維碼內容
?????*?@param?width????二維碼寬?
?????*?@param?height????二維碼高?
?????*?@param?outPutPath????二維碼生成保存路徑?
?????*?@param?imageType?????二維碼生成格式?
?????*/??
????public?static?void?zxingCodeCreate(String?text?int?width?int?height?String?outPutPath?String?imageType){??
????????Map?his?=?new?HashMap();??
????????//設置編碼字符集??
????????his.put(EncodeHintType.CHARACTER_SET?“utf-8“);??
????????try?{??
????????????//1、生成二維碼??
????????????BitMatrix?encode?=?new?MultiFormatWriter().encode(text?BarcodeFormat.QR_CODE?width?height?his);??
??????????????
????????????//2、獲取二維碼寬高??
????????????int?codeWidth?=?encode.getWidth();??
????????????int?codeHeight?=?encode.getHeight();??
??????????????
????????????//3、將二維碼放入緩沖流??
????????????BufferedImage?image?=?new?BufferedImage(codeWidth?codeHeight?BufferedImage.TYPE_INT_RGB);??
????????????for?(int?i?=?0;?i?????????????????for?(int?j?=?0;?j?????????????????????//4、循環將二維碼內容定入圖片??
????????????????????image.setRGB(i?j?encode.get(i?j)???BLACK?:?WHITE);??
????????????????}??
????????????}??
????????????File?outPutImage?=?new?File(outPutPath);??
????????????//如果圖片不存在創建圖片??
????????????if(!outPutImage.exists())??
????????????????outPutImage.createNewFile();??
????????????//5、將二維碼寫入圖片??
????????????ImageIO.write(image?imageType?outPutImage);??
????????}?catch?(WriterException?e)?{??
????????????e.printStackTrace();??
????????????System.out.println(“二維碼生成失敗“);??
????????}?catch?(IOException?e)?{??
????????????e.printStackTrace();??
????????????System.out.println(“生成二維碼圖片失敗“);??
????????}??
????}??
??????
????/**?
?????*?二維碼解析?
?????*?@param?analyzePath????二維碼路徑?
?????*?@return?
?????*?@throws?IOException?
?????*/??
????@SuppressWar
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-12-20?10:49??qrcode\
?????文件?????????417??2017-12-20?10:47??qrcode\.classpath
?????文件?????????382??2017-12-20?10:36??qrcode\.project
?????目錄???????????0??2017-12-20?10:49??qrcode\.settings\
?????文件?????????598??2017-12-20?10:36??qrcode\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2017-12-20?10:49??qrcode\bin\
?????目錄???????????0??2017-12-20?10:49??qrcode\bin\com\
?????目錄???????????0??2017-12-20?10:49??qrcode\bin\com\payplatform\
?????目錄???????????0??2017-12-20?10:49??qrcode\bin\com\payplatform\util\
?????文件????????4399??2017-12-20?10:49??qrcode\bin\com\payplatform\util\QRCodeUtil.class
?????目錄???????????0??2017-12-20?10:49??qrcode\lib\
?????文件??????545396??2017-12-20?10:46??qrcode\lib\core-3.3.1.jar
?????文件???????41688??2017-12-20?10:47??qrcode\lib\javase-3.3.1.jar
?????目錄???????????0??2017-12-20?10:49??qrcode\src\
?????目錄???????????0??2017-12-20?10:49??qrcode\src\com\
?????目錄???????????0??2017-12-20?10:49??qrcode\src\com\payplatform\
?????目錄???????????0??2017-12-20?10:49??qrcode\src\com\payplatform\util\
?????文件????????4183??2017-12-20?10:49??qrcode\src\com\payplatform\util\QRCodeUtil.java
評論
共有 條評論