Écrire des codes QR en C

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

Introduction

Avec IronQR, les développeurs peuvent créer des codes QR pour les formats d'image populaires et les personnaliser avec des couleurs de fond, des marges, des logos, et même les ajouter à des PDF. Pour une utilisation avancée, il offre également un contrôle sur la correction des erreurs et les versions.

Cet article explorera les principales fonctionnalités d'IronQR à l'aide d'exemples, vous aidant ainsi à comprendre comment l'utiliser pour écrire des codes QR en C# et l'appliquer efficacement dans vos projets.

Table des matières

Commencez à utiliser IronQR dans votre projet aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Données d'entrée

Texte, URL, nombres

IronQR peut convertir une large gamme de types de données, notamment du texte, des URL et des nombres, en codes QR. Que vous créiez des liens ou du texte sous forme de code QR pour le marketing et la communication, des codes numériques pour la gestion des stocks, ou que vous encodiez des données ou des flux binaires en codes QR lisibles, IronQR vous fournit tout le support dont vous avez besoin.

De plus, l'API est simple d'utilisation. La classe QrWriter offre plusieurs surcharges, permettant différents types de données en entrée, réduisant ainsi la complexité et rationalisant le processus.

: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

Binaire et flux

De même, nous pouvons convertir des données binaires et des flux en codes QR en utilisant la même méthode Write que celle mentionnée précédemment.

: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

Programme de classe { statique void Main() { // Créer une instance de générateur de code QR QrWriter writer = QrWriter.CreateQrCode() ;

    // Exemple de données binaires
    byte[] données = { 0x01, 0x02, 0x03, 0x04 };

    // Écrire des données binaires dans un code QR
    écrivain.Écrire(données)
          .EnregistrerSous("binaire-qr.png");

    // Exemple utilisant un flux de mémoire
    en utilisant (MemoryStream stream = new MemoryStream(data))
    {
        écrivain.Écrire(flux)
              .EnregistrerSous("stream-qr.png");
    }
}

}

La méthode Write possède des surcharges qui acceptent à la fois des tableaux d'octets et des flux comme entrées. Pour les flux, nous pouvons créer un MemoryStream à partir du tableau d'octets, puis le convertir en code QR. Ceci est utile lorsque les utilisateurs ont besoin d'un contrôle plus précis sur les blocs de données, car les flux peuvent être plus efficaces en termes de mémoire.

: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

Exporter les codes QR

IronQR est flexible et adaptable à divers cas d'utilisation nécessitant différents formats de fichiers. Vous pouvez enregistrer les codes QR dans plusieurs formats tels que JPG, PNG, GIF et TIFF en utilisant la méthode SaveAs .

Enregistrer comme Image

La méthode SaveAs d' AnyBitmap détecte automatiquement le format du fichier en fonction du chemin d'accès fourni. Dans cet exemple, j'ai spécifié un chemin de fichier se terminant par .png .

Veuillez noterLorsque vous utilisez la méthode SaveAs , veuillez noter qu'il n'existe pas de format d'image par défaut. Si vous saisissez une extension non reconnue ou si vous faites une faute de frappe dans le chemin d'accès au fichier, l'image sera enregistrée avec l'extension incorrecte.

: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

Système.Dessin.Images

La conversion d'images en objet System.Drawing.Images de Microsoft vous permet d'utiliser la classe Bitmap pour enregistrer le code QR dans un fichier. Dans cet exemple, la méthode Save enregistre le code QR sous forme de fichier PNG dans le chemin qrBitmap.png .

[{i:( System.Drawing.Common est uniquement pris en charge sur la plateforme Windows.