BarcodeAlignment Enumeration (original) (raw)

Summary

Horizontal or vertical alignment to use when writing barcodes.

Syntax

C#

Objective-C

C++/CLI

Java

Python

[SerializableAttribute()] public enum BarcodeAlignment

typedef NS_ENUM(NSInteger, LTBarcodeAlignment) { LTBarcodeAlignmentNear, LTBarcodeAlignmentCenter, LTBarcodeAlignmentFar };

public enum BarcodeAlignment 

[SerializableAttribute()] public enum class BarcodeAlignment

class BarcodeAlignment(Enum): Near = 0 Center = 1 Far = 2

Members

Value Member Description
0 Near 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.
1 Center 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.
2 Far 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.

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.

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:\LEADTOOLS22\Resources\Images"; }