C#でqrコード 読み取り:QRコードの値を取得する方法

This article was translated from English: Does it need improvement?
Translated
View the article in English

すぐに任意のQRコード画像からデコードされたテキストを抽出します。 アプリケーションで表示、保存、または処理する準備ができた生の文字列値を取得します。

QRコードの値を読むことは、スキャンワークフローの最初のステップです。 決済端末はQRコードに埋め込まれたトランザクションIDを必要とします。 倉庫システムはラベル上の製品参照が必要です。 チケット検証機能はイベントパスに印刷された予約コードを必要とします。 IronQRはこれを簡単にします:画像を読み込み、QrReaderに渡し、結果からデコードされた文字列を直接読み取ります。

IronQRライブラリを使用して画像からQRコードの値を抽出する方法を示します。 まだQRコードを生成していない開発者は、最初にQRコードを画像として作成するガイドを始めてください。

クイックスタート: QRコードの値を読む

画像を読み込み、QrReaderでスキャンし、デコードされた文字列を抽出します。

  1. IronQR をNuGetパッケージマネージャでインストール

    PM > Install-Package IronQR
  2. このコード スニペットをコピーして実行します。

    var input = new QrImageInput("qr-code.png");
    var results = new QrReader().Read(input);
    Console.WriteLine(results.First().Value);
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronQR を使い始めましょう無料トライアル

    arrow pointer

画像からQRコードの値をどのように読みますか?

QRコードに埋め込まれた値を抽出するには、画像をValueプロパティにアクセスします。 このメソッドは1つのQRコードごとに結果を含むコレクションを返します。

入力

下のQRコードはhttps://ironsoftware.comをエンコードしており、その値を抽出するためにスキャンされます。

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}")
$vbLabelText   $csharpLabel

Valueプロパティはエンコードされたとおりに生のデコードされた文字列を返します:URL, 数字、フリーテキスト、または他のデータ。 IEnumerable<QrResult>を返します、たとえQRコードが1つしかない場合でも。 画像に複数のQRコードが含まれている場合、foreach (var result in results)を使用してそれぞれを処理します。 QRコードが見つからない画像を処理するために、results.Any()でガードします。

出力

デコードされたQRコード値https://ironsoftware.comを示すコンソール出力

すべての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
$vbLabelText   $csharpLabel

出力

QRコードから読み取った値、URL、ポイントのプロパティを示すコンソール出力

QrResultはどのプロパティを公開しますか?

QrResultは成功したスキャン後に次のプロパティを公開します:

プロパティ タイプ 翻訳内容
Value string エンコードされたままの生のデコードされた文字列。 URL、プレーンテキスト、数値ID、JSON、または他のデータを保持できます。 これは、ほとんどのアプリケーションの主要プロパティです。
Url Uri 有効な絶対URLであるときにUriオブジェクト。 リンクを開いたり、ドメインを検証したり、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機能セットを探索してください。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はできましたか?
Nuget ダウンロード 63,625 | バージョン: 2026.4 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronQR
サンプルを実行する URL が QR コードになるのを見る。