←Select platform

BarcodeAlignment Enumeration

Summary
Horizontal or vertical alignment to use when writing barcodes.
Syntax
C#
VB
Objective-C
C++
Java
[SerializableAttribute()] 
public enum BarcodeAlignment   
<SerializableAttribute()> 
Public Enum BarcodeAlignment  
typedef NS_ENUM(NSInteger, LTBarcodeAlignment) 
public enum BarcodeAlignment 
[SerializableAttribute()] 
public enum class BarcodeAlignment   
Members
ValueMemberDescription
0Near

Aligns the barcode to the near edge of BarcodeData.Bounds. This is the left edge (LeadRect.Left) when this is a horizontal alignment or the top edge (LeadRect.Top) when this is a vertical alignment.

The barcode actual width or height is not used.

1Center

Aligns the barcode to the center BarcodeData.Bounds. This is horizontal center (LeadRect.Left + (LeadRect.Width - "barcodeWidth") / 2) when this is a horizontal alignment or the vertical center (LeadRect.Top + (LeadRect.Height - "barcodeHeight") / 2) when this is a vertical alignment.

2Far

Aligns the barcode to the far edge of BarcodeData.Bounds. This is the left edge (LeadRect.Right - "barcodeWidth") if this is a horizontal alignment or the top edge (LeadRect.Bottom - "barcodeHeight") if this is a vertical alignment.

Remarks

When writing barcodes, the BarcodeWriter object may not use all the area defined by the output rectangle (BarcodeData.Bounds) since not all sizes can be used when writing a barcode and the value of the width and height of the bounds can have a special meaning. For more information, refer to Writing Barcodes - Bounds and XModule.

In cases where not all of the bounds is used, an alignment value can set to determine whether the result barcode is left, top, right, bottom or center aligned to the rectangle. For these, you can use the BarcodeAlignment enumeration to control how the barcode is written.

Alignment is only supported by 2D symbologies (Datamatrix, MicroPDF417, PDF417 and QR). BarcodeAlignment is used as the type for the following properties:

Note that the default values for all these properties is BarcodeAlignment.Near.

Example

This example uses BarcodeAlignment to write a QR barcode at the 9 locations that can be set by changing the alignment. These locations are top/left, top/center, top/right, center/left, center/center, center/right, bottom/left, bottom/center and bottom/right.

C#
VB
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Barcode; 
using Leadtools.ImageProcessing; 
 
 
public void BarcodeAlignment_Example() 
{ 
   string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyBarcode.tif"); 
 
   BarcodeEngine engine = new BarcodeEngine(); 
   BarcodeWriter writer = engine.Writer; 
 
   // Create the QR barcode 
   BarcodeData barcode = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.QR); 
 
   // Create the image (8.5 by 11 inches at 300 DPI) 
   int resolution = 300; 
   using (RasterImage image = RasterImage.Create((int)(8.5 * resolution), (int)(11.0 * resolution), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))) 
   { 
      // We will control the position by alignment, so set the barcode bound to be the whole image 
      barcode.Bounds = new LeadRect(0, 0, image.ImageWidth, image.ImageHeight); 
 
      QRBarcodeWriteOptions options = writer.GetDefaultOptions(BarcodeSymbology.QR) as QRBarcodeWriteOptions; 
 
      // Let the engine determine the size of the barcode using X Module (default behavior) 
 
      // Use these alignments 
      BarcodeAlignment[] verticalAlignments = { BarcodeAlignment.Near, BarcodeAlignment.Center, BarcodeAlignment.Far }; 
      BarcodeAlignment[] horizontalAlignments = { BarcodeAlignment.Near, BarcodeAlignment.Center, BarcodeAlignment.Far }; 
 
      foreach (BarcodeAlignment verticalAlignment in verticalAlignments) 
      { 
         foreach (BarcodeAlignment horizontalAlignment in horizontalAlignments) 
         { 
            // Write the barcode using these alignments 
            options.HorizontalAlignment = verticalAlignment; 
            options.VerticalAlignment = horizontalAlignment; 
            writer.WriteBarcode(image, barcode, options); 
         } 
      } 
 
      // The image now have 9 barcodes 
 
      // Save the image 
      using (RasterCodecs codecs = new RasterCodecs()) 
      { 
         codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1); 
      } 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images"; 
} 
Imports Leadtools 
Imports Leadtools.Codecs 
Imports Leadtools.Barcode 
Imports Leadtools.ImageProcessing 
 
Public Sub BarcodeAlignment_Example() 
   Dim imageFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "MyBarcode.tif") 
 
   Dim engine As New BarcodeEngine() 
   Dim writer As BarcodeWriter = engine.Writer 
 
   ' Create the QR barcode 
   Dim barcode As BarcodeData = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.QR) 
 
   ' Create the image (8.5 by 11 inches at 300 DPI) 
   Dim resolution As Integer = 300 
   Using image As RasterImage = RasterImage.Create(CType(8.5 * resolution, Integer), CType(11.0 * resolution, Integer), 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White)) 
      ' We will control the position by alignment, so set the barcode bound to be the whole image 
      barcode.Bounds = New LeadRect(0, 0, image.ImageWidth, image.ImageHeight) 
 
      Dim options As QRBarcodeWriteOptions = DirectCast(writer.GetDefaultOptions(BarcodeSymbology.QR), QRBarcodeWriteOptions) 
 
      ' Let the engine determine the size of the barcode using X Module (default behavior) 
 
      ' Use these alignments 
      Dim verticalAlignments() As BarcodeAlignment = {BarcodeAlignment.Near, BarcodeAlignment.Center, BarcodeAlignment.Far} 
      Dim horizontalAlignments() As BarcodeAlignment = {BarcodeAlignment.Near, BarcodeAlignment.Center, BarcodeAlignment.Far} 
 
      For Each verticalAlignment As BarcodeAlignment In verticalAlignments 
         For Each horizontalAlignment As BarcodeAlignment In horizontalAlignments 
            ' Write the barcode using these alignments 
            options.HorizontalAlignment = verticalAlignment 
            options.VerticalAlignment = horizontalAlignment 
            writer.WriteBarcode(image, barcode, options) 
         Next 
      Next 
 
      ' The image now have 9 barcodes 
 
      ' Save the image 
      Using codecs As New RasterCodecs() 
         codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1) 
      End Using 
   End Using 
End Sub 
 
Public NotInheritable Class LEAD_VARS 
   Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images" 
End Class 
Requirements

Target Platforms

See Also

Reference

Leadtools.Barcode Namespace

Help Version 21.0.2021.7.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Barcode Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.