// GetDataMatrixCodeSettings initializes the settings for the given barcode. // The settings are stored in the custom data of each image. // Since these settings are stored in Visual Basic 6 format, we use the VBCustomData class. private void GetDataMatrixCodeSettings(VisionImage barcode, ref DataMatrixDescriptionOptions descOptions, ref DataMatrixSizeOptions sizeOptions, ref DataMatrixSearchOptions searchOptions) { descOptions.AspectRatio = new VBCustomData(barcode.CustomData.GetDataRawBytes("DMDescriptionAspectRatio")).Numeric[0]; VBCustomData sizeData = new VBCustomData(barcode.CustomData.GetDataRawBytes("DMDescriptionRowsColumns")); descOptions.Rows = (uint)sizeData.Numeric[0]; descOptions.Columns = (uint)sizeData.Numeric[1]; descOptions.Rectangle = new VBCustomData(barcode.CustomData.GetDataRawBytes("DMDescriptionRectangle")).Numeric[0] != 0.0; descOptions.Ecc = (DataMatrixEcc)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMDescriptionECC")).Numeric[0]); descOptions.Polarity = (DataMatrixPolarity)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMDescriptionPolarity")).Numeric[0]); descOptions.CellFill = (DataMatrixCellFillMode)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMDescriptionCellFill")).Numeric[0]); descOptions.MinimumBorderIntegrity = new VBCustomData(barcode.CustomData.GetDataRawBytes("DMDescriptionMinimumBorderIntegrity")).Numeric[0]; descOptions.MirrorMode = (DataMatrixMirrorMode)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMDescriptionMirror")).Numeric[0]); sizeData = new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSizeBarcode")); sizeOptions.MinimumSize = (uint)sizeData.Numeric[0]; sizeOptions.MaximumSize = (uint)sizeData.Numeric[1]; sizeOptions.QuietZoneWidth = (uint)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSizeQuietZoneWidth"))).Numeric[0]; searchOptions.RotationMode = (DataMatrixRotationMode)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSearchRotation"))).Numeric[0]; searchOptions.SkipLocation = (new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSearchSkipLocation"))).Numeric[0] != 0.0; searchOptions.EdgeThreshold = (uint)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSearchEdgeThreshold"))).Numeric[0]; searchOptions.DemodulationMode = (DataMatrixDemodulationMode)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSearchDemodulation"))).Numeric[0]; searchOptions.CellSampleSize = (DataMatrixCellSampleSize)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSearchCellSampleSize"))).Numeric[0]; searchOptions.CellFilterMode = (DataMatrixCellFilterMode)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSearchCellFilter"))).Numeric[0]; searchOptions.SkewDegreesAllowed = (uint)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSearchSkewDegrees"))).Numeric[0]; searchOptions.MaximumIterations = (uint)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSearchMaxIterations"))).Numeric[0]; searchOptions.InitialSearchVectorWidth = (uint)(new VBCustomData(barcode.CustomData.GetDataRawBytes("DMSearchInitialSearchVectorWidth"))).Numeric[0]; }
// GetQRCodeSettings initializes the settings for the given barcode. // The settings are stored in the custom data of each image. // Since these settings are stored in Visual Basic 6 format, we use the VBCustomData class. private void GetQRCodeSettings(VisionImage barcode, ref QRDescriptionOptions descOptions, ref QRSizeOptions sizeOptions, ref QRSearchOptions searchOptions) { descOptions.Dimensions = (QRDimension)(new VBCustomData(barcode.CustomData.GetDataRawBytes("QRCellDimensions"))).Numeric[0]; descOptions.Polarity = (QRPolarity)(new VBCustomData(barcode.CustomData.GetDataRawBytes("QRCodePolarity"))).Numeric[0]; descOptions.MirrorMode = (QRMirrorMode)(new VBCustomData(barcode.CustomData.GetDataRawBytes("QRCodeMirrorMode"))).Numeric[0]; descOptions.ModelType = (QRModelType)(new VBCustomData(barcode.CustomData.GetDataRawBytes("QRModelType"))).Numeric[0]; searchOptions.DemodulationMode = (QRDemodulationMode)(new VBCustomData(barcode.CustomData.GetDataRawBytes("QRDemodulationMode"))).Numeric[0]; searchOptions.CellSampleSize = (QRCellSampleSize)(new VBCustomData(barcode.CustomData.GetDataRawBytes("QRSampleSize"))).Numeric[0]; searchOptions.CellFilterMode = (QRCellFilterMode)(new VBCustomData(barcode.CustomData.GetDataRawBytes("QRFilterMode"))).Numeric[0]; VBCustomData sizeData = new VBCustomData(barcode.CustomData.GetDataRawBytes("QRMatrixSize")); sizeOptions.MinimumSize = (uint)sizeData.Numeric[0]; sizeOptions.MaximumSize = (uint)sizeData.Numeric[1]; }