QRコードの値をC#で読み取る方法
すぐに任意のQRコード画像からデコードされたテキストを抽出します。 アプリケーションで表示、保存、または処理する準備ができた生の文字列値を取得します。
QRコードの値を読むことは、スキャンワークフローの最初のステップです。 決済端末はQRコードに埋め込まれたトランザクションIDを必要とします。 倉庫システムはラベル上の製品参照が必要です。 チケット検証機能はイベントパスに印刷された予約コードを必要とします。 IronQRを使えば、この処理は簡単です。画像を読み込み、それをQrReaderに渡すだけで、結果からデコードされた文字列を直接読み取ることができます。
IronQRライブラリを使用して画像からQRコードの値を抽出する方法を示します。 まだQRコードを生成していない開発者は、最初にQRコードを画像として作成するガイドを始めてください。
クイックスタート: QRコードの値を読む
画像を読み込み、QrReaderでスキャンし、デコードされた文字列を抽出します。
最小限のワークフロー(5ステップ)
- IronQR C#ライブラリをダウンロードしてQRコードの値を読み取る
- 画像をロードし、それを
QrImageInputにラップします QrReaderインスタンスを作成し、入力と共にReadを呼び出しますQrResult.Valueを介してデコードされた文字列にアクセスします.First()をアクセスする前にresults.Any()でガードします
画像からQRコードの値をどのように読みますか?
QRコードに埋め込まれたデータを抽出するには、画像をValueプロパティにアクセスします。 このメソッドは1つのQRコードごとに結果を含むコレクションを返します。
入力
下のQRコードはhttps://ironsoftware.comをエンコードしており、その値を抽出するためにスキャンされます。
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-value.cs
using IronQr;
using System.Drawing;
// Import image
var inputImage = Image.FromFile("sample.jpg");
// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(inputImage);
// Create a QR Reader object
QrReader reader = new QrReader();
// Read the input and get all embedded QR codes
IEnumerable<QrResult> results = reader.Read(imageInput);
// Display the value of the first QR code found
Console.WriteLine($"QR code value is {results.First().Value}");
Imports IronQr
Imports System.Drawing
Imports System.Linq
' Import image
Dim inputImage As Image = Image.FromFile("sample.jpg")
' Load the asset into QrImageInput
Dim imageInput As New QrImageInput(inputImage)
' Create a QR Reader object
Dim reader As New QrReader()
' Read the input and get all embedded QR codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
' Display the value of the first QR code found
Console.WriteLine($"QR code value is {results.First().Value}")
Value プロパティは、エンコードされたままの生のデコード済み文字列(URL、数値、自由形式のテキスト、またはその他のデータ)をそのまま返します。 Read() メソッドは、QRコードが1つしか存在しない場合でも、常に IEnumerable<QrResult> を返します。 画像に複数のQRコードが含まれている場合は、foreach (var result in results)を使用して各QRコードを順次処理してください。 QRコードが見つからない画像を処理するため、results.Any() を呼び出す前に .First() で保護してください。
出力
すべてのQRコードプロパティをどのように読みますか?
各 QrResult は 3 つのプロパティを公開しており、これらを組み合わせることで、何がスキャンされ、画像内のどこで検出されたのかという全体像が把握できます。 上記と同じ入力QRコードを使用しています:
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-value-properties.cs
using IronQr;
using IronSoftware.Drawing;
AnyBitmap inputImage = AnyBitmap.FromFile("sample.jpg");
QrImageInput imageInput = new QrImageInput(inputImage);
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);
QrResult result = results.First();
// Decoded text content of the QR code
Console.WriteLine($"Value: {result.Value}");
// Parsed URL — populated when Value is a valid URL, null otherwise
Console.WriteLine($"Url: {result.Url}");
// Corner coordinates of the QR code in the image [TL, TR, BL, BR]
string[] labels = { "Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right" };
for (int i = 0; i < result.Points.Length; i++)
{
Console.WriteLine($"{labels[i]}: ({result.Points[i].X}, {result.Points[i].Y})");
}
Imports IronQr
Imports IronSoftware.Drawing
Dim inputImage As AnyBitmap = AnyBitmap.FromFile("sample.jpg")
Dim imageInput As New QrImageInput(inputImage)
Dim reader As New QrReader()
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
Dim result As QrResult = results.First()
' Decoded text content of the QR code
Console.WriteLine($"Value: {result.Value}")
' Parsed URL — populated when Value is a valid URL, Nothing otherwise
Console.WriteLine($"Url: {result.Url}")
' Corner coordinates of the QR code in the image [TL, TR, BL, BR]
Dim labels As String() = {"Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right"}
For i As Integer = 0 To result.Points.Length - 1
Console.WriteLine($"{labels(i)}: ({result.Points(i).X}, {result.Points(i).Y})")
Next i
出力
QrResult はどのようなプロパティを公開していますか?
QrResult は、スキャンが正常に完了すると、以下のプロパティを公開します:
| プロパティ | タイプ | 翻訳内容 |
|---|---|---|
Value |
string |
エンコードされたままの生のデコードされた文字列。 URL、プレーンテキスト、数値ID、JSON、または他のデータを保持できます。 これは、ほとんどのアプリケーションの主要プロパティです。 |
Url |
Uri |
Uri が有効な絶対 URL の場合、Value に値が設定された解析済みオブジェクト。 リンクを開いたり、ドメインを検証したり、URLコンポーネントを抽出するために使用します。 値が URL でない場合、null を返します。 |
Points |
PointF[] |
ソース画像内のQRコードの位置を示す4つの角座標([Top-Left, Top-Right, Bottom-Left, Bottom-Right]の順)。 バウンディングボックスを描いたり、領域を切り取ったり、スキャンエリアを計算したりするために使用します。 |
QRコード値読み取りの一般的なユースケースは何ですか?
- 決済端末: 顧客のQRコードからトランザクションURLまたは参照IDをデコードして、支払いフローを開始します。
- チケット検証: 印刷されたまたは画面上のQRコードから予約参照を抽出してイベント入場を確認します。
- 在庫管理: 倉庫ラベルから製品のシリアル番号またはSKUを読み取り、在庫記録を更新します。
- 文書検証: 法的または政府の文書に刻印されたQRコードからレコードIDまたはハッシュを引き出します。
- ユーザー認証: QRコードからワンタイムトークンをデコードして、2ファクターログインステップを完了します。
さらなるQRコードの読み取りパターンについては、画像からQRコードを読むガイドと完全なIronQR機能セットを探索してください。
よくある質問
C#でQRコードの値をどのように読み取りますか?
C#でQRコードの値を読むためにIronQRを使用できます。QrReader.Read()メソッドは、QrResult.Valueを使用してQRコードからデコードされた文字列を抽出します。
IronQRでQRコードをデコードするために使用されるメソッドは何ですか?
IronQRは、QrReader.Read()メソッドを使用してQRコードをデコードし、テキストやURLなどのデータを抽出します。
IronQRはQRコードからURLを抽出することができますか?
はい、IronQRはQRコードをデコードした後にQrResult.Urlプロパティを使用してURLを解析することができます。
IronQRを使用してQRコードのコーナー座標を取得することは可能ですか?
IronQRはQrResult.Pointsプロパティを提供し、QRコードのコーナー座標を取得して正確な位置データを提供します。
IronQRのQrResult.Valueとは何ですか?
QrResult.Valueは、QrReader.Read()で処理された後のQRコードのデコードされた文字列値を保持するIronQRのプロパティです。
IronQRはQRコードから複数のデータタイプを読むことができますか?
はい、IronQRはテキスト、URL、座標を含むさまざまなデータタイプをQRコードから読み取り、異なるアプリケーションのための汎用性のある機能性を提供します。
IronQRのQRコードデコード機能はどれほど正確ですか?
IronQRは、値、URL、およびコーナーポイントなどの詳細な情報を効率的に抽出する非常に高精度なQRコードデコードを提供するように設計されています。
IronQRは静的および動的QRコードの両方に使用できますか?
はい、IronQRは静的および動的QRコードの両方をデコードでき、さまざまなQRコードアプリケーションに適した柔軟なツールです。
IronQRはどのプログラミング言語に対応していますか?
IronQRはC#と互換性があり、開発者が.NETアプリケーションにQRコード読み取り機能を簡単に統合できるようにします。
IronQRでQRコードの読み取りをテストする方法はありますか?
IronQRでは、サンプルQRコードとドキュメントに提供されているコード例を使用してQRコードの読み取りをテストし、統合がプロジェクトのニーズに合致するようにすることができます。

