IRONQRの使用

ASP .NETでQRコードをスキャンする方法

更新済み 6月 6, 2024
共有:

イントロダクション

QRコードは、広告、小売、イベント管理などで頻繁に使用され、デジタルの世界でユビキタスになっている。 ASP.NETフレームワークで作業する開発者にとって、QRコードスキャン機能をWebアプリケーションに統合することで、ユーザーエクスペリエンスと機能性を高めることができます。 この記事では、ASP.NETアプリケーションにQRコードスキャナーを実装するプロセスについて、必要なツール、ライブラリ、ステップバイステップの実装について説明します。 以下を使用します IronQRからQRコードを生成するための強力なライブラリです。 アイアンソフトウェア QRコードを読み取る。

ASP .NETでQRコードをスキャンする方法

  1. Visual Studioを使用してASP.NETプロジェクトを作成する

  2. インストール IronQR パッケージマネージャからのライブラリ

  3. QR画像をアップロードし、QRを読み取る。

  4. 高度なQRコードを読み取る

QRコードとその使用例を理解する

QR (迅速な対応) コードは二次元バーコードで、URLから連絡先までさまざまな情報を格納することができ、通常はスマートフォンや専用のスキャン装置で読み取る。 ウェブアプリケーションでは、QRコードは次のようなさまざまな役割を果たすことができる:

  • ウェブサイトへの素早いアクセス:入力することなく、ユーザーを特定のURLに誘導。
  • イベントチケットの発券:イベント入場チケットのQRコード照合。
  • 決済システム:QRコードを読み取ることで、簡単に決済ができる。
  • 製品情報:製品に関する追加情報の提供

IronQR(アイアンQR)の紹介

IronQR は、QRコードの生成とスキャンのために設計された強力な.NETライブラリで、使いやすさを念頭に置いた堅牢な機能を提供します。 この多用途ライブラリはQRコードだけでなく、他の種類のバーコードも管理できるため、.NETエコシステム内で作業する開発者に好まれています。 ここでは、QR (アイアンQR) ライブラリをASP.NETアプリケーションに統合し、QRコードのスキャンを容易にする方法を探ります。

IronQR (アイアンQR)の主な利点と特徴

  1. QRコードを読むIronQR は、jpg、png、svg、bmp、gif、tif、tiffなどの様々な画像フォーマットからQRコードを読み取ることができます。 また、マルチページ画像やカスタムQR検出モデルもサポートしている。 出力データ形式には、テキスト、URL、座標などがある。

  2. QRコードの作成:QRコードを生成し、画像として保存できます。 (jpg、png、gif、tiff、bmp)また、既存のPDFにスタンプを押すこともできます。 テキスト、URL、バイト、数字などのデータをエンコードし、QRコードを生成します。 サイズ変更、余白の調整、再カラーリング、ロゴの追加など、QRコードのスタイリングをカスタマイズできます。

  3. エラー処理と訂正IronQR は、詳細なエラーメッセージとカスタムQRエラー訂正を提供します。 フォールトトレランスを確保し、ヌルチェックとチェックサムをサポートする。

  4. 高度な機械学習モデルIronQR は、QRコード認識のための高度な機械学習モデルを使用しています。 このモデルは、モバイル、デスクトップ、クラウド環境を含む様々なプラットフォームにおいて、正確で信頼性の高いQRコード読み取りを保証します。

  5. クロスプラットフォーム互換性IronQR は、C#、F#、VB.NET用に設計されており、.NETコアのような様々な.NETバージョンで動作します。 (8, 7, 6, 5, および3.1+), .NET Standard (2.0以上), .NET Framework (4.6.2+)

  6. これは、Webを含むさまざまなプロジェクトタイプをサポートしています。 (Blazor & WebForms (ブレイザー & ウェブフォーム))モバイル (XamarinとMAUI)デスクトップ (WPF & MAUI)およびコンソールアプリケーション。

  7. 幅広いQRコードサポート:IronQR (アイアンQR)は様々なQRコードやその他のバーコードの取り扱いに優れています。 標準的なQRコード、マイクロQRコード、QRコードのバーコード画像、あるいはアステカやデータマトリックスのような特定のフォーマットを扱っているかどうかにかかわらず、 IronQR 対応しています。 IronQR(アイアンQR)はQRコードの読み取り機能もサポートしています。

    IronQR .NET API製品には、オフィス文書、PDF編集、OCRなどのさまざまなツールが含まれています。

ステップ1:Visual Studioを使用して新しいASP.NETプロジェクトを作成する

まず新規プロジェクトを作成し、以下のようにMVCテンプレートを選択します。

ASP .NETでQRコードをスキャンする方法:図1 - Visual Studioを使用して新しいASP.NETプロジェクトを作成する

次に、プロジェクトの名前と場所を指定します。

ASP .NET で QR コードをスキャンする方法:図2 - プロジェクト名と保存場所を入力します。

.NET のバージョンを選択します。

ASP .NET で QR コードをスキャンする方法:図3 - 使用する.NETバージョンを選択します。

作成ボタンをクリックすると、以下のコードとプロジェクトが作成されます。

ASP .NETでQRコードをスキャンする方法:図4 - Visual Studioの作成ボタンをクリックすると、プロジェクトのテンプレートが表示されます。

ステップ2: Visual StudioパッケージマネージャからIronQR (アイアンQR)ライブラリをインストールする。

インストール IronQR ライブラリは、Visual Studio のパッケージ・マネージャーから以下のようにダウンロードします。

ASP .NETでQRコードをスキャンする方法:図5 - Visual StudioパッケージマネージャでIronQR (アイアンQR)を検索し、インストールする。

IronQR を使用してインストールすることもできる。 NuGet パッケージマネージャー。

ASP .NETでQRコードをスキャンする方法:図6 - NuGetパッケージマネージャでIronQR (アイアンQR)を検索する

ステップ3:QR画像のアップロードとQR画像の読み取り

では、QRコードアプリを作ってみよう。

QrCodeモデルを作成

using System.ComponentModel.DataAnnotations;
namespace IronQRScannerAsp.Models
{
    public class QRCodeModel
    {
        [Display(Name = "Select QR Image")]
        public IFormFile QRCodeImage
        {
            get;
            set;
        }
    }
}
using System.ComponentModel.DataAnnotations;
namespace IronQRScannerAsp.Models
{
    public class QRCodeModel
    {
        [Display(Name = "Select QR Image")]
        public IFormFile QRCodeImage
        {
            get;
            set;
        }
    }
}
Imports System.ComponentModel.DataAnnotations
Namespace IronQRScannerAsp.Models
	Public Class QRCodeModel
		<Display(Name := "Select QR Image")>
		Public Property QRCodeImage() As IFormFile
	End Class
End Namespace
VB   C#

QRコードコントローラの作成

新しいコントローラを追加するには、コントローラフォルダを右クリックし、以下のように名前を指定します:

ASP .NET で QR コードをスキャンする方法:図7 - フォルダをクリックして新しいコントローラを追加し、名前を付ける

空のコントローラを選択します。

ASP .NET で QR コードをスキャンする方法:図8 - プロンプトでEmpty Controllerをクリックする

コントローラ名を指定します。

ASP .NETでQRコードをスキャンする方法:図9 - コントローラに名前を付ける

次に、以下のコードをコントローラに追加する。

using IronQr;
using IronQRScannerAsp.Models;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
namespace IronQRScannerAsp.Controllers
{
    public class QrCodeController : Controller
    {
        private readonly IWebHostEnvironment _environment;
        public QrCodeController(IWebHostEnvironment environment)
        {
            _environment = environment;
        }
        public IActionResult Index()
        {
          ViewBag.QrCodeText = "Text";
          return View();
        }
        [HttpPost]
        public IActionResult ScanQRCode(QRCodeModel qrImage)
        {
            string path = Path.Combine(_environment.WebRootPath, "ScanQRCode");
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string filePath = Path.Combine(_environment.WebRootPath, "ScanQRCode/qrcode.png");
            using (var stream = System.IO.File.Create(filePath))
            {
                qrImage.QRCodeImage.CopyTo(stream);
            }
            // Open the asset to read a QR Code from
            var bitmap = AnyBitmap.FromFile(filePath);
            // Load the asset into QrImageInput
            QrImageInput imageInput = new QrImageInput(bitmap);
            // Create a QR Reader object
            QrReader reader = new QrReader();
            // Read the Input an get all embedded QR Codes
            IEnumerable<QrResult> results = reader.Read(imageInput);
            ViewBag.QrCodeText = results.First().Value;
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/ScanQRCode/qrcode.png";
            ViewBag.QrCodeUri = imageUrl;
          return View();
        }
    }
}
using IronQr;
using IronQRScannerAsp.Models;
using IronSoftware.Drawing;
using Microsoft.AspNetCore.Mvc;
namespace IronQRScannerAsp.Controllers
{
    public class QrCodeController : Controller
    {
        private readonly IWebHostEnvironment _environment;
        public QrCodeController(IWebHostEnvironment environment)
        {
            _environment = environment;
        }
        public IActionResult Index()
        {
          ViewBag.QrCodeText = "Text";
          return View();
        }
        [HttpPost]
        public IActionResult ScanQRCode(QRCodeModel qrImage)
        {
            string path = Path.Combine(_environment.WebRootPath, "ScanQRCode");
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string filePath = Path.Combine(_environment.WebRootPath, "ScanQRCode/qrcode.png");
            using (var stream = System.IO.File.Create(filePath))
            {
                qrImage.QRCodeImage.CopyTo(stream);
            }
            // Open the asset to read a QR Code from
            var bitmap = AnyBitmap.FromFile(filePath);
            // Load the asset into QrImageInput
            QrImageInput imageInput = new QrImageInput(bitmap);
            // Create a QR Reader object
            QrReader reader = new QrReader();
            // Read the Input an get all embedded QR Codes
            IEnumerable<QrResult> results = reader.Read(imageInput);
            ViewBag.QrCodeText = results.First().Value;
            string imageUrl = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}" + "/ScanQRCode/qrcode.png";
            ViewBag.QrCodeUri = imageUrl;
          return View();
        }
    }
}
Imports IronQr
Imports IronQRScannerAsp.Models
Imports IronSoftware.Drawing
Imports Microsoft.AspNetCore.Mvc
Namespace IronQRScannerAsp.Controllers
	Public Class QrCodeController
		Inherits Controller

		Private ReadOnly _environment As IWebHostEnvironment
		Public Sub New(ByVal environment As IWebHostEnvironment)
			_environment = environment
		End Sub
		Public Function Index() As IActionResult
		  ViewBag.QrCodeText = "Text"
		  Return View()
		End Function
		<HttpPost>
		Public Function ScanQRCode(ByVal qrImage As QRCodeModel) As IActionResult
			Dim path As String = System.IO.Path.Combine(_environment.WebRootPath, "ScanQRCode")
			If Not Directory.Exists(path) Then
				Directory.CreateDirectory(path)
			End If
			Dim filePath As String = System.IO.Path.Combine(_environment.WebRootPath, "ScanQRCode/qrcode.png")
			Using stream = System.IO.File.Create(filePath)
				qrImage.QRCodeImage.CopyTo(stream)
			End Using
			' Open the asset to read a QR Code from
			Dim bitmap = AnyBitmap.FromFile(filePath)
			' Load the asset into QrImageInput
			Dim imageInput As New QrImageInput(bitmap)
			' Create a QR Reader object
			Dim reader As New QrReader()
			' Read the Input an get all embedded QR Codes
			Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
			ViewBag.QrCodeText = results.First().Value
			Dim imageUrl As String = $"{Me.Request.Scheme}://{Me.Request.Host}{Me.Request.PathBase}" & "/ScanQRCode/qrcode.png"
			ViewBag.QrCodeUri = imageUrl
		  Return View()
		End Function
	End Class
End Namespace
VB   C#

コードの説明

提供されるコードスニペットはQrCodeControllerという名前のASP.NET Core MVCコントローラのもので、IronQR(アイアンQR)ライブラリを使用してQRコードスキャン機能を処理するように設計されています。 このコードが何をするのかを簡単に説明しよう:

1.アップロードしたQRコード画像を保存する

パスの建設

ファイルパスを構築する (パス) アプリケーションのウェブルートディレクトリ内にQRコード画像を保存します。 (「ScanQRCode」ディレクトリ).

このディレクトリが存在するかどうかをチェックし、存在しない場合はファイルを保存する際にファイルが見つからないというエラーを避けるために作成する。

ファイル保存

ファイルのフルパスを構築する (ファイルパス) アップロードされたQRコード画像が保存される場所 ("ScanQRCode/qrcode.png"). これは、同じ名前の既存のファイルを上書きし、ファイルを蓄積することなく効果的に新しいスキャンを処理する。

ファイルストリームを開き、アップロードされた画像の内容をコピーする。 (qrImage.QRCodeImage`、おそらくフォームファイル) をサーバー上の指定された場所にコピーする。

2.QRコードの解読

画像ファイルの読み込み

AnyBitmap.FromFileを利用する。(ファイルパス)保存された画像ファイルをQRコードスキャンに適した形式にロードします。 AnyBitmap`は、画像ファイルをQRリーダーが処理できるビットマップオブジェクトに変換するためのヘルパークラスであると思われる。

QRリーダーの初期化

読み込んだビットマップを QrImageInput にラップする。この QrImageInput は特に QR コード読み取り処理の入力として設計されている。 QRコードを検出してデコードするためのIronQR (アイアンQR) ライブラリのコンポーネントである QrReader をインスタンス化する。

QRコードのスキャン

reader.Readを呼び出す(画像入力)QRコード用の画像をスキャンする。 このメソッドは IEnumerable<QrResult>ここで、各QrResultは画像内の検出されたQRコードのデータを含んでいる。 results.Firstを使って最初の結果の値を取り出す。().Valueでデコードし、このデコード情報を ViewBag.QrCodeText に格納する。 これは、画像に少なくとも1つのQRコードが含まれていることを前提としており、QRコードが検出されない潜在的なエラーは処理されません。

3.回答書の作成と返送

画像URLの構築

URLを構築する (imageUrl) サーバーに保存されたQRコード画像を指します。 このURLは、現在のHTTPリクエストのスキーム、ホスト、およびパスのベースを使用して構築され、ユーザーが閲覧できることを保証します。 構築されたURLはViewBag.QrCodeUriに保存される。

リターンを見る

同じビューを返す (表示()もちろん、英語のテキストを教えていただけますでしょうか?)QRコード画像とデコードされたテキストの両方をユーザーに表示する可能性が高い。 ViewBag`は、QRコードをデコードしたテキストと画像のURLをビューに渡してレンダリングするために使用する。

ControllerクラスにViewを追加する

新しいビューを追加し、QrCodeController クラスの CreateQRCode アクションメソッドを右クリックします。

ASP .NETでQRコードをスキャンする方法:図 10 - `QrCodeController` クラスに新しいビューを追加する

Add View "を選択し、"Razor View "を選択する。 追加」をクリックする。

ASP .NET で QR コードをスキャンする方法:図 11 - Add View オプション、Razor View、Add の順に選択します。

次に、"Create "テンプレートと以前に生成されたModelクラスを選択します。

ASP .NETでQRコードをスキャンする方法:図12 - 以前に生成されたテンプレートの作成を選択する

次に、ビュー・クラスのコードを以下のコードに置き換える。

@model IronQRScannerAsp.Models.QRCodeModel
@{
    ViewData["Title"] = "ScanQRCode";
}
<h1>ScanQRCode</h1>
<h4>QRCodeModel</h4>
<hr />
<div class="row">
    <div class="col-md-14">
        <form asp-action="ScanQRCode" enctype="multipart/form-data">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
            </div>
            <div class="form-group">
                <h3>Scanned Text:</h3>
                <h4>@ViewBag.QrCodeText</h4>
            </div>
            <div class="form-group">
                <img src="@ViewBag.QrCodeUri" class="img-thumbnail" />
            </div>
        </form>
    </div>
</div>
<div>
    <a asp-action="Index">Clear</a>
</div>
@section Scripts {
    @{
        await Html.RenderPartialAsync("_ValidationScriptsPartial");
    }
}
@model IronQRScannerAsp.Models.QRCodeModel
@{
    ViewData["Title"] = "ScanQRCode";
}
<h1>ScanQRCode</h1>
<h4>QRCodeModel</h4>
<hr />
<div class="row">
    <div class="col-md-14">
        <form asp-action="ScanQRCode" enctype="multipart/form-data">
            <div asp-validation-summary="ModelOnly" class="text-danger"></div>
            <div class="form-group">
            </div>
            <div class="form-group">
                <h3>Scanned Text:</h3>
                <h4>@ViewBag.QrCodeText</h4>
            </div>
            <div class="form-group">
                <img src="@ViewBag.QrCodeUri" class="img-thumbnail" />
            </div>
        </form>
    </div>
</div>
<div>
    <a asp-action="Index">Clear</a>
</div>
@section Scripts {
    @{
        await Html.RenderPartialAsync("_ValidationScriptsPartial");
    }
}
model ReadOnly Property () As IronQRScannerAsp.Models.QRCodeModel
	ViewData("Title") = "ScanQRCode"
End Property
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> </div> <div class="form-group"> <h3> Scanned Text:</h3> <h4> @ViewBag.QrCodeText</h4> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" /> </div> </form> </div> </div> <div> <a asp-action="Index"> Clear</a> </div> @section Scripts
"form-group"> </div> <div class="form-group"> (Of h3) Scanned Text
	Inherits </h3>(Of h4) ViewBag.QrCodeText</h4> </div> <div class="form-group"> <img src="@ViewBag.QrCodeUri" class="img-thumbnail" /> </div> </form> </div> </div> (Of div) <a asp-action="Index"> Clear</a> </div> section Scripts

'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group"> </div> <div class
"text-danger"></div> <div class="form-group"> </div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class
"ModelOnly" class="text-danger"></div> <div class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary="ModelOnly" class
"multipart/form-data"> <div asp-validation-summary="ModelOnly" class
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary
"ScanQRCode" enctype="multipart/form-data"> <div asp-validation-summary
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action="ScanQRCode" enctype
"col-md-14"> <form asp-action="ScanQRCode" enctype
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: Private Private Private Private Private Friend <h1> ScanQRCode</h1> <h4> QRCodeModel</h4> <hr /> <div Class="row"> <div class="col-md-14"> <form asp-action
"row"> <div class="col-md-14"> <form asp-action
'INSTANT VB WARNING: Instant VB cannot determine whether both operands of this division are integer types - if they are then you should use the VB integer division operator:
Private Private Private Private Private Private Private Friend (Of h1) ScanQRCode</h1> (Of h4) QRCodeModel</h4> <hr /> <div Class="row"> <div class
	@
	If True Then
		Await Html.RenderPartialAsync("_ValidationScriptsPartial")
	End If
End Class
VB   C#

ここで、program.csの以下のコードを変更して、上記のビューをデフォルトのルートにします。

app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=Index}");
app.MapControllerRoute(
name: "default",
pattern: "{controller=QrCode}/{action=Index}");
app.MapControllerRoute(name:= "default", pattern:= "{controller=QrCode}/{action=Index}")
VB   C#

これは、デフォルトのルートを HomeController から QrCode コントローラに変更します。

URLを入力します:https://ironsoftware.com/csharp/qr.

ASP .NETでQRコードをスキャンする方法:図13 - QRコードの入力例

出力

ASP .NETでQRコードをスキャンする方法:図14 - 上記の手順を実行した後の出力例

ページでQRコード画像を選択し、アップロードをクリックしてQRコードをデコードします。 このアプリは、ビデオフィードから読み取って結果を表示するように変更することもできる。

ステップ4:高度なQRコードの読み取り

高度なQRコードを読み取るために、IronQR(アイアンQR)は以下の設定を提供します。

using IronQr;
using IronSoftware.Drawing;
using IronQr.Enum;
using System.Collections.Generic;
var inputBmp = AnyBitmap.FromFile("QrImage.png");
// Use Auto => Machine Learning Scan
// Careful Scan => Useful for scanning documents slowly and carefully
QrImageInput scan_ML_and_normal = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> results1 = new QrReader().Read(scan_ML_and_normal);
// Use Machine Learning Scan
// High Speed => For scanning frames from a camera
QrImageInput scan_ML_only = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> results2 = new QrReader().Read(scan_ML_only);
// Use Scan without Machine Learning
QrImageInput scan_normal_only = new QrImageInput(inputBmp, QrScanMode.OnlyBasicScan);
IEnumerable<QrResult> results3 = new QrReader().Read(scan_normal_only);
using IronQr;
using IronSoftware.Drawing;
using IronQr.Enum;
using System.Collections.Generic;
var inputBmp = AnyBitmap.FromFile("QrImage.png");
// Use Auto => Machine Learning Scan
// Careful Scan => Useful for scanning documents slowly and carefully
QrImageInput scan_ML_and_normal = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> results1 = new QrReader().Read(scan_ML_and_normal);
// Use Machine Learning Scan
// High Speed => For scanning frames from a camera
QrImageInput scan_ML_only = new QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel);
IEnumerable<QrResult> results2 = new QrReader().Read(scan_ML_only);
// Use Scan without Machine Learning
QrImageInput scan_normal_only = new QrImageInput(inputBmp, QrScanMode.OnlyBasicScan);
IEnumerable<QrResult> results3 = new QrReader().Read(scan_normal_only);
Imports IronQr
Imports IronSoftware.Drawing
Imports IronQr.Enum
Imports System.Collections.Generic
Private inputBmp = AnyBitmap.FromFile("QrImage.png")
' Use Auto => Machine Learning Scan
' Careful Scan => Useful for scanning documents slowly and carefully
Private scan_ML_and_normal As New QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel)
Private results1 As IEnumerable(Of QrResult) = (New QrReader()).Read(scan_ML_and_normal)
' Use Machine Learning Scan
' High Speed => For scanning frames from a camera
Private scan_ML_only As New QrImageInput(inputBmp, QrScanMode.OnlyDetectionModel)
Private results2 As IEnumerable(Of QrResult) = (New QrReader()).Read(scan_ML_only)
' Use Scan without Machine Learning
Private scan_normal_only As New QrImageInput(inputBmp, QrScanMode.OnlyBasicScan)
Private results3 As IEnumerable(Of QrResult) = (New QrReader()).Read(scan_normal_only)
VB   C#

最新のMLテクノロジーを活用することで、私たちはQRコードリーダーを新たな高みへと昇華させました。 洗練されたMLモデルは、複雑な条件下でもQRコードを解読するアプリケーションの精度と効率を高める。 静止画像、ビデオストリーム、ライブカメラフィードのいずれからQRコードを読み取ろうとも、MLを搭載したソリューションは必要な情報を迅速かつ確実に提供する。 この技術革新はデータ検索を合理化し、本物のQRコードを識別して潜在的な脅威にフラグを立てることでセキュリティを強化する。 当社のMLテクノロジーにより、QRコードのスキャン機能が最先端であることを確信し、ユーザーにスムーズで安全な体験を提供することができます。

ライセンス(試用版あり)

開発者は以下からIronQR (アイアンQR) のトライアルライセンスを入手できます。 これ. キーはappSettings.jsonに記述する必要がある。

{
  "IronQR.License.LicenseKey": "My key"
}

結論

この記事では、ASP.NET CoreでQRコードをスキャンする方法について、次のように説明した。 IronQR. 統合する IronQR QRコードスキャン用のASP.NETアプリケーションへの変換は、Webアプリケーションの機能を強化し、よりインタラクティブでユーザーフレンドリーにする簡単なプロセスです。 IronQRの強力な機能と使いやすさは、バーコード関連の機能を実装しようとしている開発者にとって素晴らしい選択肢となる。

< 以前
ASP .NET CoreでQRコードを生成する方法
次へ >
C#でQRコードをスキャンする方法

準備はできましたか? バージョン: 2024.9 新発売

無料のNuGetダウンロード 総ダウンロード数: 14,256 View Licenses >