建造 | 程式碼覆蓋率 | 建置狀態 | NuGet 套件 |
---|---|---|---|
最新/穩定 |
QRCoder 是一個用 C#.NET 編寫的簡單函式庫,可讓您建立 QR 碼。它對外部程式庫1沒有任何依賴性,可作為 NuGet 上的套件提供,並支援 .NET Framework、.NET Core、.NET Standard 和 .NET。可以在此處找到受支援的目標框架的完整清單。
請隨意抓取/分叉該項目並使其變得更好!
欲了解更多信息,請參閱: QRCode Wiki |創建者的部落格(英文)|創作者的部落格(德語)
當前版本和所有過去版本的發行說明可以在此處閱讀:發行說明
QRCoder 是 Raffael Herrmann 的一個項目,於 10/2013 首次發布。它已獲得 MIT 許可。
查看此 Github 儲存庫或透過 NuGet 套件管理器安裝 QRCoder。如果您想使用 NuGet,只需搜尋「QRCoder」或在 NuGet 套件管理器控制台中執行以下命令:
PM > Install-Package QRCoder
NuGet 來源僅包含主要/穩定版本。如果您想要最新的功能和特性,可以透過 Github 套件使用 CI 建置。 (有關如何在 Nuget 套件管理器中使用 Github 套件的更多信息,請參閱此處。)
您只需要幾行程式碼即可產生您的第一個二維碼。
using ( QRCodeGenerator qrGenerator = new QRCodeGenerator ( ) )
using ( QRCodeData qrCodeData = qrGenerator . CreateQrCode ( " The text which should be encoded. " , QRCodeGenerator . ECCLevel . Q ) )
using ( PngByteQRCode qrCode = new PngByteQRCode ( qrCodeData ) )
{
byte [ ] qrCodeImage = qrCode . GetGraphic ( 20 ) ;
}
還有很多其他選擇。因此,請隨時在我們的 wiki 中閱讀更多相關內容:Wiki:如何使用 QRCoder
除了用於建立位圖格式的 QR 碼的普通 PngByteQRCode 類別(如上例所示)之外,還有一些更多的 QR 碼渲染類,每個類別都有不同的特殊用途。
注意:請注意,並非所有渲染器都適用於所有目標框架。請檢查我們 wiki 中的相容性表,看看特定的渲染器是否適用於您最喜歡的目標框架。
有關不同渲染類型的更多信息,請單擊上面列表中的其中一種類型或查看:Wiki:高級用法 - QR 代碼渲染器
從技術上講,QR 碼只是文字/字串的視覺表示。然而,大多數 QR 碼閱讀器可以讀取觸發不同操作的「特殊」QR 碼。
例如:WiFi 二維碼,當智慧型手機掃描時,智慧型手機會自動加入存取點。
這種「特殊」的QR碼是在產生QR碼時使用特殊結構的有效負載字串產生的。 PayloadGenerator.cs 類別可協助您產生此有效負載字串。例如,要產生 WiFi 有效負載,您只需要這一行程式碼:
PayloadGenerator . WiFi wifiPayload = new PayloadGenerator . WiFi ( " MyWiFi-SSID " , " MyWiFi-Pass " , PayloadGenerator . WiFi . Authentication . WPA ) ;
要從此有效負載產生 QR 程式碼,只需呼叫“ToString()”方法並將其傳遞給 QRCoder。
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload . ToString ( ) , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
您也可以使用接受 Payload 作為參數的重載方法。有效負載產生器可以設定 QR 碼版本(預設為自動設定)、ECC 等級(預設為 M)和 ECI 模式(預設為自動偵測)。
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload ) ;
//[...]
或者,如果您想要覆蓋有效負載產生器設定的 ECC 級別,您可以使用重載方法,該方法允許設定 ECC 級別。
//[...]
QRCodeData qrCodeData = qrGenerator . CreateQrCode ( wifiPayload , QRCodeGenerator . ECCLevel . Q ) ;
//[...]
您可以在我們的 Wiki 中了解有關有效負載產生器的更多資訊。
PayloadGenerator 支援以下類型的有效負載:
(1)根據目標框架,.NET 函式庫 System.Drawing.Common 和 System.Text.Encoding.CodePages 將用作套件相依性。