摘要:二維碼是根據一定規則生成,存儲信息的小圖片。比如可以存儲參數存儲等內容。
二維碼是根據一定規則生成,存儲信息的小圖片。比如可以存儲參數存儲url等內容。掃描之后將能獲得這些內容
下文為普通二維碼的生成,可自定義二維碼的大小,定義二維碼中存儲的數據內容
1.下文使用的二維碼生成jar坐標
com.google.zxing core 3.3.2
2.工具類的定義
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class CodeImageUtil {
// 默認二維碼寬度 public static final int WIDTH = 300; // 默認二維碼高度 public static final int HEIGHT = 300; // 默認二維碼文件格式 public static final String FORMAT = "png"; // 二維碼參數 public static final MapHINTS = new HashMap (); //初始化編碼格式等參數 static { // 字符編碼 HINTS.put(EncodeHintType.CHARACTER_SET, "utf-8"); HINTS.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H); // 二維碼與圖片邊距 HINTS.put(EncodeHintType.MARGIN, 2); } /** * * @description:功能描述 將二維碼寫出到輸出流中 * @param content 二維碼內容即要存儲在二維碼中的內容(掃描二維碼之后獲取的內容) * @param stream 輸出流 * @param width 二維碼寬 * @param height 二維碼高 * @throws WriterException * @throws IOException * @see: 需要參見的其它內容 */ public static void writeToStream(String content, OutputStream stream, Integer width, Integer height) throws WriterException, IOException { if(width==null){ width=WIDTH; } if(height==null){ height=HEIGHT; } BitMatrix bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, HINTS); MatrixToImageWriter.writeToStream(bitMatrix, FORMAT, stream); }
}
3.main中的調用
public void main(String[] arg){
ByteArrayOutputStream out = new ByteArrayOutputStream(); // 生成二維碼圖片 CodeImageUtil.writeToStream(url, out, 300, 300); InputStream in = new ByteArrayInputStream(out.toByteArray()); //將生成的二維碼寫入圖片,也可直接使用流 String filePath="H:file_station" + fileName; FileOutputStream fos = new FileOutputStream(filePath); int length; byte[] b = new byte[1024]; while ((length=in.read(b))>0){ fos.write(b,0,length); } fos.flush(); in.close(); fos.close();
}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/75752.html
什么是Leancloud Leancloud是國內有名的BaaS提供商,什么是BaaS提供商呢?通俗點講就是給你提供增刪改查等后臺服務的API,你通過這些API就可以將數據存儲在云端數據庫中,而不需要關系服務器環境和里面的處理邏輯,它提供的SDK有js、java、object-c、python等等。 類似的BaaS提供商還有谷歌的firebase(www.firebase.com),但容易被墻不...
摘要:業務具體介紹,本系統是一個共享圖書的小程序項目,企業級,創業項目。具體業務流程類似共享自行車,也有設計押金月卡季卡等等。以上是單個頁面的實現基本文件目錄。其中還涉及微信支付環節。 本博客 貓叔的博客,轉載請申明出閱讀本文約3分鐘適讀人群:Java后端、Java初級、小程序前端 本文是兩個GitHub項目的序章,旨在指導初級程序員完成一個企業級共享項目的前后端代碼實踐,豐富自身的實戰經...
摘要:微信小程序官方開放了個創建二維碼的接口,其中有一個是生成二維碼的,還有一個是葵花狀的小程序碼,我這里就用生成二維碼。 微信小程序官方開放了3個創建二維碼的接口,其中有一個是生成二維碼的,還有一個是葵花狀的小程序碼,我這里就用php生成二維碼。 首先要獲取Access_token 這個請求起來也是很容易的,微信開發文檔有請求接口:要把自己的小程序的APPID和APPSECRET獲取到 h...
摘要:微信小程序官方開放了個創建二維碼的接口,其中有一個是生成二維碼的,還有一個是葵花狀的小程序碼,我這里就用生成二維碼。 微信小程序官方開放了3個創建二維碼的接口,其中有一個是生成二維碼的,還有一個是葵花狀的小程序碼,我這里就用php生成二維碼。 首先要獲取Access_token 這個請求起來也是很容易的,微信開發文檔有請求接口:要把自己的小程序的APPID和APPSECRET獲取到 h...
摘要:我們來看一個例子,關于異常處理的一些知識點。看下面這段程序。這個方法能拋出的異常類型已經被擦除成為了。如何消除掉這個編譯器錯誤呢把第行的改成即可。再次執行,這次既沒有語法錯誤,也沒有運行時錯誤了已經成功地被第行的語句捕捉住了。 文章的標題看似自相矛盾,然而我在正確二字上打了引號。我們來看一個例子,關于Java異常處理(Exception Handling)的一些知識點。 showImg...
閱讀 3616·2021-11-24 10:22
閱讀 3686·2021-11-22 09:34
閱讀 2480·2021-11-15 11:39
閱讀 1528·2021-10-14 09:42
閱讀 3662·2021-10-08 10:04
閱讀 1553·2019-08-30 15:52
閱讀 847·2019-08-30 13:49
閱讀 3015·2019-08-30 11:21