由于前段日子小魚忙于實習和找工作赔桌,一直沒有時間寫博客(其實只是有點懶罷了),千盼萬盼的終于到了國慶節(jié)啦额划,終于可以好好寫寫博客啦妙啃。
閑話不多說,今天分享的是我在慕課網(wǎng)上學到的小技巧俊戳,用Java來生成自己的二維碼揖赴。
說實話,一開始看到這個題目我是一臉懵逼的抑胎,哇燥滑,要用Java來生成二維碼啊,會不會很復雜啊阿逃,要是學不會的話應(yīng)該怎么辦巴槐丁?各種各種的思緒不明所以的飄飛盆昙,簡直不要太混亂啊羽历。但其實看了之后才發(fā)現(xiàn),真心不難淡喜。下面就是詳細講解啦秕磷。
第一步,為了生成二維碼炼团,必須用到一個jar包澎嚣,就是叫做zxing的jar包,這個zxing是github上的一個開源項目瘟芝,可以直接在github上面下載易桃,這里是具體下載網(wǎng)址。
而第二步锌俱,就是制作jar包了晤郑,因為在github上面下載下來的zxing項目只是源碼,還不是jar包贸宏,所以應(yīng)該自己先用eclipse將這些源碼導出為jar包造寝。下面就是具體步驟了:
一、在eclipse中新建一個工程吭练,名字隨意诫龙,這里我取為Demo。
二鲫咽、
1.下載的zxing壓縮包解壓后的文件如下签赃,將core和javase兩個文件夾里面的代碼拷到Demo工程中谷异。(core中只要main文件下的代碼)
2.拷完之后發(fā)現(xiàn)報錯了!啊锦聊,我知道程序員都特別痛恨紅叉叉晰绎,但是不要那么緊張,放寬心將它們打包就好括丁,如下所示。
三伶选、愉快的打包完之后就可以開始真正的寫代碼啦史飞。
public class QRCode {
public static void main(String[] args){
//設(shè)置二維碼寬度
int width = 300;
//設(shè)置二維碼高度
int height = 300;
//設(shè)置圖片格式
String format = "png";
//設(shè)置二維碼的信息內(nèi)容,就是掃了二維碼后出現(xiàn)的東西仰税,這里是一個鏈接
String content ="http://www.baidu.com";
createQRcode(width, height, format, content);
}
}
private static void createQRcode(int width, int height, String format,String content) {
// 設(shè)置下二維碼的參數(shù)
Map hint = new HashMap();
// 設(shè)置二維碼的編碼格式
hint.put(EncodeHintType.CHARACTER_SET, "utf-8");
// 設(shè)置二維碼的糾錯等級,等級越高构资,可存儲的數(shù)據(jù)量就越少
// L,M,Q,H這四個值等級依次有低到高
hint.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
// 設(shè)置二維碼的邊距,也就是外面的空白邊框大小
hint.put(EncodeHintType.MARGIN, 2);
try {
BitMatrix bitMatrix = new MultiFormatWriter().encode(content,BarcodeFormat.QR_CODE, width, height, hint);
Path a = new File("D:/morning/mor.png").toPath();
MatrixToImageWriter.writeToPath(bitMatrix, format, a);
} catch (WriterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4.寫完代碼后只要點擊運行陨簇,就能夠生成你想要的二維碼啦吐绵,無論是用二維碼直接打開網(wǎng)址鏈接,或者是掃碼安裝軟件河绽,我們都可以隨心所欲己单,是不是很棒呢?
如果喜歡或覺得小魚的文章不錯的話耙饰,不要忘記點下喜歡哦纹笼。