Flutter生成帶圖片的二維碼


現在的APP中經常需要用自己的信息生成一個二維碼給別人掃,下面就介紹一下Flutter中怎么生成一個帶圖片的二維碼。

需要用到的插件qr_flutter

首先在 pubspec.yaml 文件中添加以下依賴,添加依賴后在 pubspec.yaml 運行 flutter packages get 或 使用IDE更新軟件包。

dependencies:
  qr_flutter: ^3.0.1

  

完成以上步驟之后就可以在你需要生成二維碼的頁面引用qr_flutter

import 'package:qr_flutter/qr_flutter.dart';

  

在生成二維碼之前先看一下它的api

 

屬性 類型 描述
version int QrVersions.auto或者介於1和40之間的值。有關限制和詳細信息,訪問http://www.qrcode.com/en/about/version.html
errorCorrectionLevel int 定義的值QrErrorCorrectLevel例如:QrErrorCorrectLevel.L
size double 二維碼的(方形)大小。如果沒有給出,將使用最短大小約束自動調整大小。
padding EdgeInsets 填充二維碼內邊距。
backgroundColor Color 背景顏色(默認為無)。
foregroundColor Color 前景色(默認為黑色)。
gapless bool 添加一個額外的像素以防止間隙(默認為true)。
errorStateBuilder QrErrorBuilder 允許您Widget在呈現QR碼時出現錯誤時顯示錯誤狀態(例如:版本太低,輸入太長等)。
constrainErrorBounds bool 如果為true,則錯誤Widget將被限制為將要繪制QR碼的平方。如果為false,則錯誤狀態Widget將增大/縮小到所需的任何大小。
embeddedImage ImageProvider ImageProvider限定的圖像以在QR碼的中心重疊。
embeddedImageStyle QrEmbeddedImageStyle 用於設置嵌入圖像樣式的屬性。
embeddedImageEmitsError bool 如果為true,則任何加載嵌入圖像的失敗都將觸發errorStateBuilder或呈現為空Container如果為false,則將呈現QR碼,並且將忽略嵌入的圖像。

 

通過上面給出的參數,生成一個大小200,圖片大小30的二維碼

Center(
  child: QrImage(
    data: '這是二維碼的內容',
    size: 200,
    embeddedImage: NetworkImage('https://img2.woyaogexing.com/2019/09/06/f9afde08c5a4460cb08389a6c7f74c7a!600x600.jpeg'),
    embeddedImageStyle: QrEmbeddedImageStyle(
      size: Size(30, 30),
    ),
  ),
)

  

效果圖如下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM