C# QRコードジェネレーター for .NET
バーコード作成の入門チュートリアルで読んだかもしれませんが、IronBarcodeを使用してバーコードを作成し、スタイリングし、画像としてエクスポートするのは非常に簡単で、しばしば1行のコードで実現できます。
この例では、産業用途や小売業でますます人気が高まっているQRコードについて、より詳細に見ていきます。
C#でQRコードを読み取り及び生成する方法
- QRコード生成ライブラリをダウンロード
- コードを1行追加してQRコードを作成する
- QRコードにロゴを追加する
- QRコードが読み取れることを確認する
- バイナリデータ付きQRの読み取りと書き込み
C#でQRコード生成ライブラリをインストールする
今日から無料トライアルでIronBarcodeをあなたのプロジェクトで使い始めましょう。
始める前に、インストールする必要があります バーコード NuGetパッケージ。
Install-Package BarCode
https://www.nuget.org/packages/BarCode/ 代替案として、 IronBarcode.Dllをダウンロードできます 以下から参照としてプロジェクトに追加されました [.NETバーコードDLL].
名前空間のインポート
このチュートリアルでは、クラスファイルがIronBarcodeおよびいくつかの標準的なシステムアセンブリを参照していることを確認する必要があります。
using IronBarCode;
using System;
using System.Drawing;
using System.Linq;
using IronBarCode;
using System;
using System.Drawing;
using System.Linq;
Imports IronBarCode
Imports System
Imports System.Drawing
Imports System.Linq
1行のコードでQRコードを作成
最初の例では、標準化されたバーコードを簡単なテキスト、500ピクセルの正方形の直径、中程度のエラー訂正と共に作成する方法を示しています。
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-1.cs
using IronBarCode;
// Generate a Simple BarCode image and save as PDF
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("MyQR.png");
Imports IronBarCode
' Generate a Simple BarCode image and save as PDF
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("MyQR.png")
エラー訂正により、実世界の状況でQRコードが読み取られる難易度を設定することができます。 エラー修正レベルが高くなると、より多くのピクセルと複雑さを持つ大きなQRコードが生成されます。
ロゴの追加
二つ目の例では、会社がQRコードにロゴを追加したいというユースケースを見ていきます。これは近年よく見られることです。 QRCodeWriter.CreateQRCodeWithLogo メソッドを使用すると、以下のコードサンプルでその簡単さがわかります。
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-2.cs
using IronBarCode;
using IronSoftware.Drawing;
// You may add styling with color, logo images or branding:
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
myQRCodeWithLogo.ResizeTo(500, 500).SetMargins(10).ChangeBarCodeColor(Color.DarkGreen);
// Logo will automatically be sized appropriately and snapped to the QR grid.
myQRCodeWithLogo.SaveAsPng("myQRWithLogo.png");
Imports IronBarCode
Imports IronSoftware.Drawing
' You may add styling with color, logo images or branding:
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
myQRCodeWithLogo.ResizeTo(500, 500).SetMargins(10).ChangeBarCodeColor(Color.DarkGreen)
' Logo will automatically be sized appropriately and snapped to the QR grid.
myQRCodeWithLogo.SaveAsPng("myQRWithLogo.png")
この例では、バーコードにVisual Studioのロゴを追加します。 それは純粋なコードが依然として読みやすく、QRコードの四角形のグリッドにロゴが適切に配置されるように、自動的に適切なサイズに調整します。 次のコードはバーコードをダークグリーンに色付けします。 しかし、ロゴの変色はありません。
画像PDFまたはHTMLとして保存
最後に、そのQRコードをPDFとして保存します。 最終行のコードは、便利なようにデフォルトのPDFブラウザでPDFを開きます。
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-3.cs
using IronBarCode;
// You may add styling with color, logo images or branding:
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen);
// Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf");
// Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html");
Imports IronBarCode
' You may add styling with color, logo images or branding:
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
myQRCodeWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkGreen)
' Save as PDF
myQRCodeWithLogo.SaveAsPdf("MyQRWithLogo.pdf")
' Also Save as HTML
myQRCodeWithLogo.SaveAsHtmlFile("MyQRWithLogo.html")
QRコードの検証
QRコードにロゴを追加したり色を変更したりする際には、QRコードが依然として読み取れることを確認したいです。
GeneratedBarcode.Verify
を使用することにより()` methods によって、バーコードがまだ読み取り可能であるかどうかをテストできます。
次のコード例では、QRコードの色を明るい青に変更すると、実際に読み取れなくなることがわかります。 コード内でこれを検出し、ダークブルーを優先します。
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-4.cs
using IronBarCode;
using IronSoftware.Drawing;
using System;
// Verifying QR Codes
QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode MyVerifiedQR = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo);
MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue);
if (!MyVerifiedQR.Verify())
{
Console.WriteLine("\t LightBlue is not dark enough to be read accurately. Lets try DarkBlue");
MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue);
}
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html");
// open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html");
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports IronSoftware.Drawing
Imports System
' Verifying QR Codes
Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private MyVerifiedQR As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/", qrCodeLogo)
MyVerifiedQR.ChangeBarCodeColor(System.Drawing.Color.LightBlue)
If Not MyVerifiedQR.Verify() Then
Console.WriteLine(vbTab & " LightBlue is not dark enough to be read accurately. Lets try DarkBlue")
MyVerifiedQR.ChangeBarCodeColor(Color.DarkBlue)
End If
MyVerifiedQR.SaveAsHtmlFile("MyVerifiedQR.html")
' open the barcode html file in your default web browser
System.Diagnostics.Process.Start("MyVerifiedQR.html")
最終行のコードは、QRコードをアセットなしの独立したHTMLファイルとしてエクスポートし、そのHTMLファイルをデフォルトのブラウザで開きます。
バイナリデータの読み書き
QRコードはバイナリデータを扱うのに最適な形式です。 時にはバイナリデータの方がテキストを扱うよりも、単にスペース効率が高く、より適切な場合があります。
この例では、文字列からいくつかのバイナリデータをエンコードし、それをQR形式のバーコードに書き込み、そしてそれをバイナリデータのビット配列として読み戻します。 この機能は多くのバーコードライブラリには共通していないため、IronBarcodeがこの点でユニークです。
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-5.cs
using IronBarCode;
using System;
using System.Linq;
// Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
byte[] BinaryData = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/");
// WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png");
// READ QR with Binary Content
var MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First();
if (BinaryData.SequenceEqual(MyReturnedData.BinaryValue))
{
Console.WriteLine("\t Binary Data Read and Written Perfectly");
}
else
{
throw new Exception("Corrupted Data");
}
Imports Microsoft.VisualBasic
Imports IronBarCode
Imports System
Imports System.Linq
' Create Some Binary Data - This example equally well for Byte[] and System.IO.Stream
Private BinaryData() As Byte = System.Text.Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/barcode/")
' WRITE QR with Binary Content
QRCodeWriter.CreateQrCode(BinaryData, 500).SaveAsImage("MyBinaryQR.png")
' READ QR with Binary Content
Dim MyReturnedData = BarcodeReader.Read("MyBinaryQR.png").First()
If BinaryData.SequenceEqual(MyReturnedData.BinaryValue) Then
Console.WriteLine(vbTab & " Binary Data Read and Written Perfectly")
Else
Throw New Exception("Corrupted Data")
End If
要約すると、バーコード C# ライブラリ実際のQRコードの使用を念頭に置いて特別に設計されています。 それはQRコードを迅速かつ正確に読み取るだけでなく、スタイルの適用、ロゴの追加、バーコードの検証、バイナリデータでのエンコードも可能にします。
QRコードの読み取り
チュートリアル間を行き来する手間を省くために、私はIronBarcodeを使用してQRコードを読むお気に入りの方法のコードサンプルを追加します。
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-6.cs
using IronBarCode;
using System;
using System.Linq;
BarcodeResults result = BarcodeReader.Read("QR.png", new BarcodeReaderOptions() { ExpectBarcodeTypes = BarcodeEncoding.QRCode });
if (result != null)
{
Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq
Private result As BarcodeResults = BarcodeReader.Read("QR.png", New BarcodeReaderOptions() With {.ExpectBarcodeTypes = BarcodeEncoding.QRCode})
If result IsNot Nothing Then
Console.WriteLine(result.First().Value)
End If
さらに開発者による制御が増した高度な形式も存在します:
:path=/static-assets/barcode/content-code-examples/tutorials/csharp-qr-code-generator-7.cs
using IronBarCode;
using System;
using System.Linq;
BarcodeReaderOptions options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster,
ExpectMultipleBarcodes = false,
ExpectBarcodeTypes = BarcodeEncoding.All,
Multithreaded = false,
MaxParallelThreads = 0,
CropArea = null,
UseCode39ExtendedMode = false,
RemoveFalsePositive = false,
ImageFilters = null
};
BarcodeResults result = BarcodeReader.Read("QR.png", options);
if (result != null)
{
Console.WriteLine(result.First().Value);
}
Imports IronBarCode
Imports System
Imports System.Linq
Private options As New BarcodeReaderOptions With {
.Speed = ReadingSpeed.Faster,
.ExpectMultipleBarcodes = False,
.ExpectBarcodeTypes = BarcodeEncoding.All,
.Multithreaded = False,
.MaxParallelThreads = 0,
.CropArea = Nothing,
.UseCode39ExtendedMode = False,
.RemoveFalsePositive = False,
.ImageFilters = Nothing
}
Private result As BarcodeResults = BarcodeReader.Read("QR.png", options)
If result IsNot Nothing Then
Console.WriteLine(result.First().Value)
End If
これから進む
この例についてもっと詳しく知り、以下の技術について作業するにはC#でのQRコード私たちは、GitHubページでフォークするか、当社のサイトからソースコードをダウンロードすることをお勧めします。
ソースコードダウンロード
このC# QRコード生成チュートリアルとDLLをダウンロードしてください。
さらに詳しいドキュメント
以下もご覧くださいQRCodeWriter 以下のコンテンツを日本語に翻訳してください:バーコードリーダーAPIリファレンス内で関心のあるクラス。
以下の内容を日本語に翻訳してください:
彼らはIronBarcodeの全機能セットを文書化しています。VB.NET バーコード生成器、それを単一のチュートリアルに詰め込むことは不可能です。