C#でQRコードを作成する

Curtis Chau
Curtis Chau
2024年8月7日
更新済み 2024年12月22日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

イントロダクション

IronQRを使えば、開発者は一般的な画像フォーマットのQRコードを作成し、背景色、余白、ロゴでカスタマイズし、PDFに追加することもできます。 上級者向けには、エラー訂正やバージョン管理も可能です。

この記事ではIronQRの主な機能を例を挙げて説明し、C#でQRコードを記述するための使い方を理解し、プロジェクトに効果的に適用できるようにします。

目次

入力データ

テキスト、URL、数字

IronQRはテキスト、URL、数字など様々なデータタイプをQRコードに変換することができます。 マーケティングやコミュニケーション用のQRコードリンクやテキスト、在庫管理用の数値コード、バイナリデータやストリームを読み取り可能なQRコードにエンコードする場合など、IronQRは必要な全てのサポートを提供します。

さらに、APIは簡単です。 QrWriter クラスは、さまざまな種類のデータを入力として許可するいくつかのオーバーロードを提供しており、複雑さを軽減し、プロセスを合理化します。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-1.cs
using IronQr;
using IronSoftware.Drawing;

string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/qr/";
string alphanumeric = "WATERSKU-12356";

// Create QR code
QrCode textQr = QrWriter.Write(text);
// Save QR code as a bitmap
AnyBitmap textQrImage = textQr.Save();
// Save QR code as file
textQrImage.SaveAs("textQr.png");

QrCode urlQr = QrWriter.Write(url);
AnyBitmap urlQrImage = urlQr.Save();
urlQrImage.SaveAs("urlQr.png");

QrCode alphanumericQr = QrWriter.Write(alphanumeric);
AnyBitmap alphanumericQrImage = alphanumericQr.Save();
alphanumericQrImage.SaveAs("alphanumericQr.png");
Imports IronQr
Imports IronSoftware.Drawing

Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/qr/"
Private alphanumeric As String = "WATERSKU-12356"

' Create QR code
Private textQr As QrCode = QrWriter.Write(text)
' Save QR code as a bitmap
Private textQrImage As AnyBitmap = textQr.Save()
' Save QR code as file
textQrImage.SaveAs("textQr.png")

Dim urlQr As QrCode = QrWriter.Write(url)
Dim urlQrImage As AnyBitmap = urlQr.Save()
urlQrImage.SaveAs("urlQr.png")

Dim alphanumericQr As QrCode = QrWriter.Write(alphanumeric)
Dim alphanumericQrImage As AnyBitmap = alphanumericQr.Save()
alphanumericQrImage.SaveAs("alphanumericQr.png")
$vbLabelText   $csharpLabel

バイナリ&ストリーム

同様に、以前に述べたWriteメソッドを使用して、バイナリデータやストリームをQRコードに変換することができます。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-2.cs
using IronQr;
using IronSoftware.Drawing;
using System.Text;

byte[] bytes = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/");

// Create QR code
QrCode bytesQr = QrWriter.Write(bytes);

// Save QR code as a bitmap
AnyBitmap qrImage = bytesQr.Save();

// Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.Text

Private bytes() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/")

' Create QR code
Private bytesQr As QrCode = QrWriter.Write(bytes)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = bytesQr.Save()

' Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png")
$vbLabelText   $csharpLabel

Write メソッドには、入力としてバイト配列とストリームの両方を受け入れるオーバーロードがあります。 ストリームの場合、バイト配列からMemoryStreamを作成し、それをQRコードに変換することができます。 ストリームはメモリ効率が高いため、ユーザーがデータチャンクをより細かく制御する必要がある場合に役立ちます。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-3.cs
using IronQr;
using IronSoftware.Drawing;
using System.IO;
using System.Text;

MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"));

// Create QR code
QrCode streamQr = QrWriter.Write(stream);

// Save QR code as a bitmap
AnyBitmap streamQrImage = streamQr.Save();

// Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.IO
Imports System.Text

Private stream As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"))

' Create QR code
Private streamQr As QrCode = QrWriter.Write(stream)

' Save QR code as a bitmap
Private streamQrImage As AnyBitmap = streamQr.Save()

' Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png")
$vbLabelText   $csharpLabel

QRコードのエクスポート

IronQRは柔軟性があり、異なるファイル形式を必要とする様々なユースケースに適応します。 QRコードは、SaveAsメソッドを使用して、JPG、PNG、GIF、TIFFなどの複数の形式で保存できます。

画像として保存

SaveAs メソッドは、AnyBitmap から提供されたファイルパスに基づいて自動的にファイル形式を検出します。 この例では、.pngで終わるファイルパスを指定しました。

次の内容にご注意ください。
SaveAs メソッドを使用する際、デフォルトの画像形式がないことに注意してください。 認識されていない拡張子を入力するか、ファイルパスにタイプミスをすると、画像は誤った拡張子で保存されます。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-4.cs
using IronQr;
using IronSoftware.Drawing;

// Create a QR code object
QrCode qr = QrWriter.Write("hello world");

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qr.png");
Imports IronQr
Imports IronSoftware.Drawing

' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qr.png")
$vbLabelText   $csharpLabel

System.Drawing.Images

画像をMicrosoftのSystem.Drawing.Imagesオブジェクトに変換することで、Bitmapクラスを使用してQRコードをファイルパスに保存できます。 この例では、Save メソッドは QR コードを 'qrBitmap.png' パスに PNG ファイルとして保存します。

[{i:(System.Drawing.CommonはWindowsプラットフォームでのみサポートされています。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-5.cs
using IronQr;
using System.Drawing;

// Create a QR code object
QrCode qr = QrWriter.Write("hello world");

// Save QR code as a bitmap
Bitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.Save("qrBitmap.png");
Imports IronQr
Imports System.Drawing

' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")

' Save QR code as a bitmap
Private qrImage As Bitmap = qr.Save()

' Save QR code bitmap as file
qrImage.Save("qrBitmap.png")
$vbLabelText   $csharpLabel

IronSoftware.Drawing

System.Drawing.Common のクロスプラットフォーム互換性の欠如により、開発者はクロスプラットフォームアプリケーションの保守時に問題に直面する可能性があります。 IronQRは、System.Drawing.CommonIronSoftware.Drawingの両方を利用できます。

IronQRは、次のものに暗黙的にキャストされる汎用互換のBitmapクラスであるAnyBitmapクラスを使用しています。IronSoftware.Drawingから提供されています。

  • System.Drawing.Bitmap
  • System.Drawing.Image
  • SkiaSharp.SKBitmap
  • SixLabors.ImageSharp
  • Microsoft.Maui.Graphics.Platform.PlatformImage

    この強力なオープンソースライブラリにより、IronQRはクロスプラットフォームのサポートと.NET 8、.NET 7、.NET 6、.NET 5、.NET Core、.NET Standard、.NET Framework 4.6.2+との互換性を実現しています。 ライブラリの詳細については、IronSoftware.Drawingのウェブサイトを参照してください。

PDFへのスタンプ

IronQRは、開発者が既存のPDFドキュメントにQRコードをスタンプすることを可能にし、他の人がリンクや追加リソースに素早くアクセスできるようにします。 QRコードのスタンプは、単一ページと複数ページの両方に対応しています。

単一ページへのスタンプ

QRコードを作成した後、QrCodeオブジェクトからStampToExistingPdfPageメソッドを呼び出します。 このメソッドは、ファイルパス、座標(x と y)、ページ番号、および PDF がパスワード保護されている場合のオプションのパスワードを必要とします。 引数が提供されると、メソッドはQRコードをスタンプし、PDFを保存します。

次の内容にご注意ください。
この方法はPDFのページに基づいており、ページ番号は0ではなく1から始まります。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-6.cs
using IronQr;

// Create a QR code object
QrCode qr = QrWriter.Write("hello world");

string filepath = "example.pdf";
int x = 100;
int y = 150;
int page = 1;

// Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page);
Imports IronQr

' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")

Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private page As Integer = 1

' Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page)
$vbLabelText   $csharpLabel

複数ページへのスタンプ

上記の例と同様に、主な違いは、StampToExistingPdfPages メソッドが単一のページ番号ではなく、ページ番号のリストを受け取るという点です。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-7.cs
using IronQr;
using System.Collections.Generic;

// Create a QR code object
QrCode qr = QrWriter.Write("hello world");

string filepath = "example.pdf";
int x = 100;
int y = 150;
List<int> pages = new List<int>();
pages.Add(1);
pages.Add(2);
pages.Add(3);
pages.Add(4);

// Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages);
Imports IronQr
Imports System.Collections.Generic

' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")

Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private pages As New List(Of Integer)()
pages.Add(1)
pages.Add(2)
pages.Add(3)
pages.Add(4)

' Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages)
$vbLabelText   $csharpLabel

両方の例からの出力

代替テキスト


QRコードオプション

IronQRはQRコードの動作や機能を微調整するための幅広いカスタマイズオプションを提供しています。 QrOptions クラスは、バージョンコントロール、エンコーディングタイプ、文字エンコーディング、エラー訂正レベルなどのパラメーターを提供します。 これらのオプションについて詳しく見ていきましょう。

エンコーディング

IronQRは複数のQRコードの作成と読み取りをサポートしています。 以下はサポートされるタイプです:

  • QRCode: これは、今日一般的に使用されている標準的なQRコードです。 最大7,089文字の数字または4,296文字の英数字を格納できます。
  • MicroQRCode: 標準のQRコードの小型版で、最大35の数字または21の英数字を保存できます。
  • RMQRCode: 矩形マイクロQRコードはQRコードのコンパクトなバージョンであり、アスペクト比の柔軟性を提供します。
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-8.cs
using IronQr;
using IronSoftware.Drawing;

QrOptions options = new QrOptions
{
    // Change encoding to micro QR code
    Encoding = IronQr.Enum.QrEncoding.MicroQRCode,
};

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing

Private options As New QrOptions With {.Encoding = IronQr.Enum.QrEncoding.MicroQRCode}

' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
$vbLabelText   $csharpLabel

エラー訂正

IronQRは標準的なQRエラー訂正を使用し、生成される全てのQRコードが過酷な条件下でもフォールトトレラントで信頼できることを保証します。 さらに、IronQRではエラー訂正レベルを完全にコントロールすることができます。

利用可能なエラー訂正レベルは、QrErrorCorrectionLevelによって提供される4つのレベルです。

  • 最高: 30%のエラー修正
  • : 25% エラー訂正
  • : 15% 誤り訂正
  • : 7% 誤り訂正
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-9.cs
using IronQr;
using IronSoftware.Drawing;

QrOptions options = new QrOptions
{
    // Change error correction level to medium
    ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium,
};

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing

Private options As New QrOptions With {.ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium}

' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
$vbLabelText   $csharpLabel

エラー修正が高いほど、QRコードを読み取る際のフォールトトレランスが高くなり、エラー修正が低いものに比べて低解像度でもスキャンされる可能性が高くなります。 使用例に基づいてテストすることができます。

代替テキスト

QRコードバージョン

QRコードのバージョンを調整して、より多くのデータを保存することができます。 高いバージョンは在庫や物流に最適で、低いバージョンは短いURLのような小さなデータに適しています。 単にQrOptionsオブジェクト内のVersionプロパティを変更し、それをWriteメソッドに渡して、必要に応じてQRコードを生成します。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-10.cs
using IronQr;
using IronSoftware.Drawing;

QrOptions options = new QrOptions
{
    // Change QR code version to 40
    Version = 40,
};

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing

Private options As New QrOptions With {.Version = 40}

' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
$vbLabelText   $csharpLabel

代替テキスト

出力からわかるように、バージョン40のQRコードはバージョン5と比べて非常に複雑で高密度です。

低バージョンの場合、より正確なスキャニングが必要となり、高解像度のスキャナーがないとスキャニングが難しい場合があります。 ただし、解像度の低いカメラでも、高いバージョンの方がスキャンしやすい。 容量に基づいてQRバージョンを選択する詳細なガイドについては、QRバージョン一覧をご参照ください。

文字エンコーディング

このオプションは、QRコードのエンコード方法を決定します。 この例では、デフォルトの文字エンコーディングが「ISO-8859-1」であるのに対し、「UTF-32」に変更しました。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-11.cs
using IronQr;
using IronSoftware.Drawing;

QrOptions options = new QrOptions
{
    // Change character encoding to UTF-32
    CharacterEncoding = "UTF-32"
};

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing

Private options As New QrOptions With {.CharacterEncoding = "UTF-32"}

' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
$vbLabelText   $csharpLabel

QRコードのスタイリング

IronQRは、使いやすいメソッドと入力データの柔軟な処理に加えて、QRコードをカスタマイズしてユニークなものにするための多くのオプションを提供しています。 QrStyleOptions クラスは、QRコードのすべての側面をカスタマイズするためのさまざまなパラメーターを提供します。 利用可能なオプションを探ってみましょう。

リサイズ

QRコードのサイズを変更するには、QrStyleOptionsオブジェクトのDimensionsプロパティを設定し、それをSaveメソッドに渡します。 デフォルトでは、QRコードは300pxで保存されます。 この例では、QRコードを300pxではなく600pxで保存しています。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-12.cs
using IronQr;
using IronSoftware.Drawing;

QrStyleOptions styleOptions = new QrStyleOptions()
{
    // Change the dimensions to 600px
    Dimensions = 600,
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png");
Imports IronQr
Imports IronSoftware.Drawing

Private styleOptions As New QrStyleOptions() With {.Dimensions = 600}

Private url As String = "https://ironsoftware.com/csharp/qr/"

' Create QR code
Private qr As QrCode = QrWriter.Write(url)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)

' Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png")
$vbLabelText   $csharpLabel

代替テキスト

マージンとボーダー

余白と境界を調整するには、QrStyleOptions クラスの Margins プロパティを使用します。 このプロパティは、QRコードのすべての辺の余白を制御し、デフォルト値は10pxです。 この例では、マージンを20pxに設定しています。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-13.cs
using IronQr;
using IronSoftware.Drawing;

QrStyleOptions styleOptions = new QrStyleOptions()
{
    // Change margins to 20px
    Margins = 20
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing

Private styleOptions As New QrStyleOptions() With {.Margins = 20}

Private url As String = "https://ironsoftware.com/csharp/qr/"

' Create QR code
Private qr As QrCode = QrWriter.Write(url)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)

' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
$vbLabelText   $csharpLabel

代替テキスト

各辺の余白を変更

IronQRはまた、ユーザーが各辺に異なるマージンを指定することができ、よりきめ細かいコントロールを提供します。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-14.cs
using IronQr;
using IronSoftware.Drawing;

QrStyleOptions styleOptions = new QrStyleOptions()
{
    // Change margins
    MarginBottom = 30,
    MarginTop = 100,
    MarginRight = 40,
    MarginLeft = 20,
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing

Private styleOptions As New QrStyleOptions() With {
	.MarginBottom = 30,
	.MarginTop = 100,
	.MarginRight = 40,
	.MarginLeft = 20
}

Private url As String = "https://ironsoftware.com/csharp/qr/"

' Create QR code
Private qr As QrCode = QrWriter.Write(url)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)

' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
$vbLabelText   $csharpLabel

リカラー

QRコードとその背景に色を追加するには、QrStyleOptions クラスを使用します。 色をカスタマイズすることで、QRコードはよりユニークで目を引くものになります。 Color および BackgroundColor プロパティを使用して色を変更できます。 利用可能な色のリストを割り当てるには、IronSoftware.Drawing を必ずインポートしてください。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;

QrStyleOptions styleOptions = new QrStyleOptions()
{
    // Change color
    BackgroundColor = Color.Blue,
    Color = Color.Red
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing

Private styleOptions As New QrStyleOptions() With {
	.BackgroundColor = Color.Blue,
	.Color = Color.Red
}

Private url As String = "https://ironsoftware.com/csharp/qr/"

' Create QR code
Private qr As QrCode = QrWriter.Write(url)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)

' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")
$vbLabelText   $csharpLabel

alt テキスト

ロゴの追加

色と寸法に加えて、QRコードに会社のロゴを適用することもできます。 これにより、ユーザーはすぐにQRコードを認識し、ブランドと関連付けることができます。 このLogoプロパティを使用すると、会社のロゴを追加してQRコードを簡単にカスタマイズできます。

:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;

QrStyleOptions styleOptions = new QrStyleOptions()
{
    // Change color
    BackgroundColor = Color.Blue,
    Color = Color.Red
};

string url = "https://ironsoftware.com/csharp/qr/";

// Create QR code
QrCode qr = QrWriter.Write(url);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);

// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing

Private styleOptions As New QrStyleOptions() With {
	.BackgroundColor = Color.Blue,
	.Color = Color.Red
}

Private url As String = "https://ironsoftware.com/csharp/qr/"

' Create QR code
Private qr As QrCode = QrWriter.Write(url)

' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)

' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")
$vbLabelText   $csharpLabel

代替テキスト

ロゴのカスタマイズ

QrLogo クラスは、ロゴの見た目をさらにカスタマイズすることができます。 以下は利用可能なプロパティです:

  • ビットマップ: ロゴとして使用したい画像を表します。
  • : ロゴの幅を表します。 デフォルト値は0です。
  • 高さ: ロゴの高さを表します。 デフォルト値は0です。
  • CornerRadius: ロゴの角を丸くするための半径を表します。 デフォルトでは0に設定されており、ロゴの角は正方形になります。

フォールトトレランスの確認

ファイル形式やカスタマイズの幅広い柔軟性とともに、デバッグやエラー処理の面でも柔軟性が求められます。 IronQRは開発者が例外を処理したり、アプリケーションを検証するためのユニットテストを書いたりするための様々なツールを提供します。

チェックサム

QRコードは時に破損することがありますが、IronQRにはチェックサムとデータ修正が組み込まれており、QRコードを機能的に保つことができます。 それはQRコードがフォールトトレラントであることを保証するために、リード・ソロモン誤り訂正アルゴリズムを使用しています。

詳細なエラーメッセージ

IronQRは詳細なエラーメッセージを提供し、ユーザーが問題を素早く特定できるようにします。 これらのメッセージには、特定の例外のリストが含まれているため、デバッグや問題解決がより簡単になります。 以下はライブラリで使用されるIronQrExceptionのリストです。

  • IronQrEncodingException: IronQrExceptionのサブクラスであり、QRコードの書き込みに問題が発生した場合にこのエラーが発生します。 例えば、ユーザーが空の文字列からQRコードを作成しようとした場合に表示されます。

    代替テキスト

  • IronQrFileException: IronQrException のサブクラスであり、ファイル関連の問題が発生した際にこのエラーが発生します。
  • IronQrPdfPasswordExcception: IronQrExceptionのサブクラスであり、ユーザーがスタンプしようとしているPDFがパスワードで保護されている場合に、パスワードが提供されないか、または誤ったパスワードが提供されたときに発生します。 また、例に示すように、PDFを開くことができない場合など、その他のPDF関連のエラーもカバーしています。

    代替テキスト

結論

IronQRは.NETアプリケーション内でQRコードを生成し、カスタマイズするための包括的なメソッドを提供します。 堅牢な機能により、開発者はさまざまなデータエンコーディング、ビジュアルスタイル、エラー訂正レベルを持つQRコードを簡単に作成できます。 このライブラリは、多様な出力形式をサポートし、既存のドキュメントにシームレスに統合できるため、あらゆるQRコードプロジェクトに対応できる汎用性の高いツールです。 基本的なQRコードから高度なブランドソリューションまで、IronQRはお客様のニーズを効率的に満たす柔軟性と機能性を提供します。

詳細については、IronQR ドキュメントをチェックし、無料トライアルで探索を始め、ライセンスオプションを確認して、どのプランがあなたのニーズに最も適しているかをご覧ください。

Curtis Chau
テクニカルライター

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

開発以外にも、Curtisはモノのインターネット(IoT)に強い関心を持ち、ハードウェアとソフトウェアを統合する革新的な方法を探求しています。彼の余暇には、技術への愛を創造性と組み合わせて、ゲームを楽しんだりDiscordボットを作ったりしています。