Esempio n. 1
0
        // 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];
        }
Esempio n. 2
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];
        }