visual-qr-code生成圖片二維碼工具
visual-qr-code 可以創(chuàng)建出精美的二維碼,與傳統(tǒng)的二維碼不同的是,設(shè)置的背景圖片或logo并不是只是在二維碼中心,背景圖片和logo都是半透明的,讓二維碼更好看
一、使用示例(詳細(xì)情況源碼中的測(cè)試用例)
示例1:
測(cè)試代碼
@Test
public void testPOSITIONRECTANGLE() {
String url = "http://blog.csdn.net/weixin_41279060/article/details/78961532";
try {
VisualQRCode.createQRCode(url,
"./img/lg-logo.jpg",
outPutPath + "QRCodePOSITIONRECTANGLE.png",
'H',
new Color(2, 85, 43),
null,
null,
null,
true,
VisualQRCode.POSITION_DETECTION_SHAPE_MODEL_RECTANGLE,
VisualQRCode.FILL_SHAPE_MODEL_RECTANGLE);
} catch (IOException e) {
e.printStackTrace();
}
}
生成的二維碼效果(方形碼眼,方形小點(diǎn)):
示例2:
測(cè)試代碼
@Test
public void testFILLCIRCLE() {
String url = "http://blog.csdn.net/weixin_41279060/article/details/78961532";
try {
VisualQRCode.createQRCode(url,
"./img/lg-logo.jpg",
outPutPath + "FILLCIRCLE.png",
'H',
new Color(2, 85, 43),
null,
null,
null,
true,
VisualQRCode.POSITION_DETECTION_SHAPE_MODEL_ROUND_RECTANGLE,
VisualQRCode.FILL_SHAPE_MODEL_CIRCLE);
} catch (IOException e) {
e.printStackTrace();
}
}
生成的二維碼效果(方圓形碼眼,圓形小點(diǎn)):
示例3:
測(cè)試代碼
@Test
public void testLARGEIMG(){
String url = "http://blog.csdn.net/weixin_41279060/article/details/78961532";
try {
VisualQRCode.createQRCode(url,
"./img/xmyrz.jpg",
outPutPath+"LARGEIMG.png",
'H',
new Color(170, 24, 67),
800,
420,
200,
false,
VisualQRCode.POSITION_DETECTION_SHAPE_MODEL_ROUND_RECTANGLE,
VisualQRCode.FILL_SHAPE_MODEL_RECTANGLE);
} catch (IOException e) {
e.printStackTrace();
}
}
生成的二維碼效果(方圓形碼眼,方形小點(diǎn),設(shè)置了初始位置,沒有把二維碼設(shè)置成圖片大小):
二、API使用介紹
創(chuàng)建方法:
public static void createQRCode(String content, String bgPath, String outPath, char Level, Color DF, Integer startX, Integer startY, Integer QRCodeWidth, Boolean isDeformation, Integer fillPositionDetectionShapeModel, Integer fillShapeModel) throws IOException
參數(shù)說明:
1、content 二維碼內(nèi)容、網(wǎng)址,必需
2、bgPath 背景圖片路徑,必需
3、outPath 二維碼輸出路徑,必需
4、Level 二維碼容錯(cuò)等級(jí),必需可選:"L"、"M"、"Q"、"H"
-
L水平 7%的字碼可被修正
-
M水平 15%的字碼可被修正
-
Q水平 25%的字碼可被修正
-
H水平 30%的字碼可被修正
5、DF 二維碼顏色,必需
-
startX 二維碼X軸起點(diǎn),非必須,默認(rèn)為圖片的左上角
-
startY 二維碼Y軸起點(diǎn),非必須,默認(rèn)為圖片的左上角
-
QRCodeWidth 二維碼的寬度,非必須,默認(rèn)為背景圖最小邊
-
二維碼的起始X/Y加上QRCodeWidth<=圖片的寬/高
6、isDeformation 是否把背景圖變成方形,非必須,默認(rèn)為false不改變圖片形狀
7、fillPositionDetectionShapeModel 二維碼四個(gè)大碼眼的形狀,目前只支持方形和圓方形可選:
-
POSITION_DETECTION_SHAPE_MODEL_RECTANGLE
-
POSITION_DETECTION_SHAPE_MODEL_ROUND_RECTANGLE
8、fillShapeModel 二維碼點(diǎn)的形狀,目前只支持方形和圓形可選:
-
FILL_SHAPE_MODEL_RECTANGLE
-
FILL_SHAPE_MODEL_CIRCLE
三、使用說明
下載發(fā)行版本的 jar 包,引用,然后使用VisualQRCode.createQRCode創(chuàng)建二維碼即可。
該二維碼應(yīng)用使用了http://www.swetake.com/qrcode 網(wǎng)站上提供的二維碼應(yīng)用程序
