Generate QR Codes in C# .NET
PSPDFKit GdPicture.NET Library enables you to generate one-dimensional (1D or linear) and two-dimensional (2D) barcodes.
GdPicture.NET supports all 1D barcode formats and the following 2D barcode formats:
- Aztec Code
- Data Matrix
- MaxiCode
- Micro QR
- PDF417
- QR
To generate a QR barcode, follow these steps:
-
Create a
GdPictureImaging
object. -
Set the encoding mode of the barcode with the
BarcodeQREncodingMode
enumeration, and store it in a variable. UseBarcodeQREncodingModeUndefined
to let the engine determine the most appropriate encoding mode for the input data. -
Set the error correction level with the
BarcodeQRErrorCorrectionLevel
enumeration, and store it in a variable. -
Compute the size of the barcode with the
BarcodeQRGetSize
method of theGdPictureImaging
object, and store it in a variable. This method takes the following parameters:-
The data encoded in the barcode.
-
The encoding mode.
-
The error correction level.
-
An output parameter that defines the version of the barcode.
-
The number of modules considered quiet zone around the barcode. The recommended value is
4
or more. -
The size of each module in pixels. The recommended value is
4
or more.
-
-
Create an empty GdPicture image with the
CreateNewGdPictureImage
method of theGdPictureImaging
object. This method takes the following parameters:-
The width of the image in pixels.
-
The height of the image in pixels.
-
The bit depth of the image.
-
The background color of the image. Use the
ARGB
method of theGdPictureImaging
object to specify the color with the ARGB standard. For example, for a white background, setgdpictureImaging.ARGB(255, 255, 255)
.
-
-
Write the barcode to the empty image with the
BarcodeQRWrite
method of theGdPictureImaging
object. This method takes the following parameters:-
The image ID of the newly created image.
-
The data encoded in the barcode.
-
The encoding mode.
-
The error correction level.
-
The version of the barcode.
-
The number of modules considered quiet zone around the barcode. The recommended value is
4
or more. -
The size of each module in pixels. The recommended value is
4
or more. -
The distance between the left side of the image and the barcode in pixels.
-
The distance between the top side of the image and the barcode in pixels.
-
The angle of the barcode.
-
The color of the symbols on the barcode. Use the
ARGB
method of theGdPictureImaging
object to specify the color with the ARGB standard. For example, for black, setgdpictureImaging.ARGB(0, 0, 0)
. -
The background color of the barcode. Use the
ARGB
method of theGdPictureImaging
object to specify the color with the ARGB standard. For example, for white, setgdpictureImaging.ARGB(255, 255, 255)
.
-
-
Save the image as a PNG file with the
SaveAsPNG
method of theGdPictureImaging
object. -
Release unnecessary resources.
The example below generates a QR barcode:
using GdPictureImaging gdpictureImaging = new GdPictureImaging(); // Set the encoding mode of the barcode. BarcodeQREncodingMode encodingMode = BarcodeQREncodingMode.BarcodeQREncodingModeUndefined; // Set the error correction level. BarcodeQRErrorCorrectionLevel errorCorrectionLevel = BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelM; // Compute the size of the barcode. int size = gdpictureImaging.BarcodeQRGetSize("0123456789", encodingMode, errorCorrectionLevel, out int version, 4, 8); // Create an empty GdPicture image. int imageID = gdpictureImaging.CreateNewGdPictureImage(size, size, 32, gdpictureImaging.ARGB(255, 255, 255)); // Write the barcode to the empty image. gdpictureImaging.BarcodeQRWrite(imageID, "0123456789", encodingMode, errorCorrectionLevel, version, 4, 8, 0, 0, 0, gdpictureImaging.ARGB(0, 0, 0), gdpictureImaging.ARGB(255, 255, 255)); // Save the image as a PNG file. gdpictureImaging.SaveAsPNG(imageID, @"C:\temp\output.png"); // Release unnecessary resources. gdpictureImaging.ReleaseGdPictureImage(imageID);
Using gdpictureImaging As GdPictureImaging = New GdPictureImaging() ' Set the encoding mode of the barcode. Dim encodingMode As BarcodeQREncodingMode = BarcodeQREncodingMode.BarcodeQREncodingModeUndefined ' Set the error correction level. Dim errorCorrectionLevel As BarcodeQRErrorCorrectionLevel = BarcodeQRErrorCorrectionLevel.BarcodeQRErrorCorrectionLevelM ' Compute the size of the barcode. Dim version As Integer = Nothing Dim size As Integer = gdpictureImaging.BarcodeQRGetSize("0123456789", encodingMode, errorCorrectionLevel, version, 4, 8) ' Create an empty GdPicture image. Dim imageID As Integer = gdpictureImaging.CreateNewGdPictureImage(size, size, 32, gdpictureImaging.ARGB(255, 255, 255)) ' Write the barcode to the empty image. gdpictureImaging.BarcodeQRWrite(imageID, "0123456789", encodingMode, errorCorrectionLevel, version, 4, 8, 0, 0, 0, gdpictureImaging.ARGB(0, 0, 0), gdpictureImaging.ARGB(255, 255, 255)) ' Save the image as a PNG file. gdpictureImaging.SaveAsPNG(imageID, "C:\temp\output.png") ' Release unnecessary resources. gdpictureImaging.ReleaseGdPictureImage(imageID) End Using