LEADTOOLS Barcode (Leadtools.Barcode assembly)
LEAD Technologies, Inc

CalculateBarcodeDataBounds Method

Example 







The location where the barcode should be written.
Horizontal resolution value of the destination image that will be used to write the barcode to.
Vertical resolution value of the destination image that will be used to write the barcode to.
An BarcodeData object that contains the barcode data to write.
Options write options to use.
Calculates the exact pixel size required to write the specified barcode. .NET support Silverlight support
Syntax
public void CalculateBarcodeDataBounds( 
   LogicalRectangle writeBounds,
   int xResolution,
   int yResolution,
   BarcodeData data,
   BarcodeWriteOptions options
)
'Declaration
 
Public Sub CalculateBarcodeDataBounds( _
   ByVal writeBounds As LogicalRectangle, _
   ByVal xResolution As Integer, _
   ByVal yResolution As Integer, _
   ByVal data As BarcodeData, _
   ByVal options As BarcodeWriteOptions _
) 
'Usage
 
Dim instance As BarcodeWriter
Dim writeBounds As LogicalRectangle
Dim xResolution As Integer
Dim yResolution As Integer
Dim data As BarcodeData
Dim options As BarcodeWriteOptions
 
instance.CalculateBarcodeDataBounds(writeBounds, xResolution, yResolution, data, options)
public void CalculateBarcodeDataBounds( 
   LogicalRectangle writeBounds,
   int xResolution,
   int yResolution,
   BarcodeData data,
   BarcodeWriteOptions options
)
ObjectiveC Syntax
 function Leadtools.Barcode.BarcodeWriter.CalculateBarcodeDataBounds( 
   writeBounds ,
   xResolution ,
   yResolution ,
   data ,
   options 
)
public:
void CalculateBarcodeDataBounds( 
   LogicalRectangle writeBounds,
   int xResolution,
   int yResolution,
   BarcodeData^ data,
   BarcodeWriteOptions^ options
) 

Parameters

writeBounds
The location where the barcode should be written.
xResolution
Horizontal resolution value of the destination image that will be used to write the barcode to.
yResolution
Vertical resolution value of the destination image that will be used to write the barcode to.
data
An BarcodeData object that contains the barcode data to write.
options
Options write options to use.
Remarks

After this method returns, the width and height values of BarcodeData.Bounds will be updated with the exact pixel size required to write the barcode with the specified options.

The BarcodeData contains the BarcodeData.Bounds property that should be populated with the location and size of the final barcode on the image. 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. You can use the CalculateBarcodeDataBounds method to return the exact location of the destination barcode on the image without committing it based on the data, symbology and options selected. For more information, Writing Barcodes - Bounds and XModule.

Example
Copy CodeCopy Code  
Public Sub BarcodeWriter_CalculateBarcodeDataBoundsExample()
      Dim imageFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "MyQRBarcode.tif")

      Dim engine As New BarcodeEngine()
      Dim writer As BarcodeWriter = engine.Writer

      ' Create the QR barcode data, we will use the default but you change it
      ' if needed
      Dim barcode As QRBarcodeData = DirectCast(BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.QR), QRBarcodeData)

      ' Change the X Module to be 0.05 inches
      Dim options As QRBarcodeWriteOptions = DirectCast(writer.GetDefaultOptions(BarcodeSymbology.QR), QRBarcodeWriteOptions)
      options.XModule = 50

      ' Calculate the size of the barcode with these options
      Dim resolution As Integer = 300
      writer.CalculateBarcodeDataBounds(LogicalRectangle.Empty, resolution, resolution, barcode, options)

      ' Now create an image with the barcode size
      Dim pixels As LeadRect = barcode.Bounds.ToRectangle(resolution, resolution)
      Using image As RasterImage = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))
         ' Write the barcode
         writer.WriteBarcode(image, barcode, options)

         ' Save the image to disk
         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:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void BarcodeWriter_CalculateBarcodeDataBoundsExample()
   {
      string imageFileName = Path.Combine(LEAD_VARS.ImagesDir, "MyQRBarcode.tif");

      BarcodeEngine engine = new BarcodeEngine();
      BarcodeWriter writer = engine.Writer;

      // Create the QR barcode data, we will use the default but you change it
      // if needed
      QRBarcodeData barcode = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.QR) as QRBarcodeData;

      // Change the X Module to be 0.05 inches
      QRBarcodeWriteOptions options = writer.GetDefaultOptions(BarcodeSymbology.QR) as QRBarcodeWriteOptions;
      options.XModule = 50;

      // Calculate the size of the barcode with these options
      int resolution = 300;
      writer.CalculateBarcodeDataBounds(LogicalRectangle.Empty, resolution, resolution, barcode, options);

      // Now create an image with the barcode size
      LeadRect pixels = barcode.Bounds.ToRectangle(resolution, resolution);
      using(RasterImage image = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White)))
      {
         // Write the barcode
         writer.WriteBarcode(image, barcode, options);

         // Save the image to disk
         using(RasterCodecs codecs = new RasterCodecs())
         {
            codecs.Save(image, imageFileName, RasterImageFormat.CcittGroup4, 1);
         }
      }
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
[TestMethod]
public async Task BarcodeWriter_CalculateBarcodeDataBoundsExample()
{
   string imageFileName = @"MyQRBarcode.tif";
   BarcodeEngine engine = new BarcodeEngine();
   BarcodeWriter writer = engine.Writer;

   // Create the QR barcode data, we will use the default but you change it
   // if needed
   BarcodeData barcode = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.QR);

   // Change the X Module to be 0.05 inches
   QRBarcodeWriteOptions options = writer.GetDefaultOptions(BarcodeSymbology.QR) as QRBarcodeWriteOptions;
   options.XModule = 50;

   // Calculate the size of the barcode with these options
   int resolution = 300;
   writer.CalculateBarcodeDataBounds(LeadRectHelper.Empty, resolution, resolution, barcode, options);

   // Now create an image with the barcode size
   LeadRect pixels = barcode.Bounds;
   using(RasterImage image = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColorHelper.FromKnownColor(RasterKnownColor.White)))
   {
      // Write the barcode
      writer.WriteBarcode(image, barcode, options);

      // Save the image to disk
      using(RasterCodecs codecs = new RasterCodecs())
      {
         StorageFile saveFile = await Tools.AppLocalFolder.CreateFileAsync(imageFileName);
         await codecs.SaveAsync(image, LeadStreamFactory.Create(saveFile), RasterImageFormat.CcittGroup4, 1);
      }
   }
}
public void BarcodeWriter_CalculateBarcodeDataBoundsExample(Stream outStream)
{
   BarcodeEngine engine = new BarcodeEngine();
   BarcodeWriter writer = engine.Writer;
   // Create the QR barcode data, we will use the default but you change it
   // if needed
   QRBarcodeData barcode = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.QR) as QRBarcodeData;

   // Change the X Module to be 0.05 inches
   QRBarcodeWriteOptions options = writer.GetDefaultOptions(BarcodeSymbology.QR) as QRBarcodeWriteOptions;
   options.XModule = 50;

   // Calculate the size of the barcode with these options
   int resolution = 300;
   writer.CalculateBarcodeDataBounds(LogicalRectangle.Empty, resolution, resolution, barcode, options);

   // Now create an image with the barcode size
   LeadRect pixels = barcode.Bounds.ToRectangle(resolution, resolution);
   using(RasterImage image = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White)))
   {
      // Write the barcode
      writer.WriteBarcode(image, barcode, options);

      // Save the image to disk
      RasterCodecs codecs = new RasterCodecs();
      codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1);
   }
}
Public Sub BarcodeWriter_CalculateBarcodeDataBoundsExample(ByVal outStream As Stream)
  Dim engine As BarcodeEngine = New BarcodeEngine()
  Dim writer As BarcodeWriter = engine.Writer
  ' Create the QR barcode data, we will use the default but you change it
  ' if needed
  Dim barcode As QRBarcodeData = TryCast(BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.QR), QRBarcodeData)

  ' Change the X Module to be 0.05 inches
  Dim options As QRBarcodeWriteOptions = TryCast(writer.GetDefaultOptions(BarcodeSymbology.QR), QRBarcodeWriteOptions)
  options.XModule = 50

  ' Calculate the size of the barcode with these options
  Dim resolution As Integer = 300
  writer.CalculateBarcodeDataBounds(LogicalRectangle.Empty, resolution, resolution, barcode, options)

  ' Now create an image with the barcode size
  Dim pixels As LeadRect = barcode.Bounds.ToRectangle(resolution, resolution)
  Using image As RasterImage = RasterImage.Create(pixels.Width, pixels.Height, 1, resolution, RasterColor.FromKnownColor(RasterKnownColor.White))
    ' Write the barcode
    writer.WriteBarcode(image, barcode, options)

    ' Save the image to disk
    Dim codecs As RasterCodecs = New RasterCodecs()
    codecs.Save(image, outStream, RasterImageFormat.CcittGroup4, 1)
  End Using
End Sub
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

BarcodeWriter Class
BarcodeWriter Members
Writing Barcodes - Bounds and XModule

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Barcode requires a Barcode Module license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features