public Image GetOldBarcodeImage(Fields.BarcodeParameters parameters)
 {
     throw new NotImplementedException();
 }
        /// <summary>
        /// Implementation of the GetBarCodeImage() method for IBarCodeGenerator interface.
        /// </summary>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public Image GetBarcodeImage(Fields.BarcodeParameters parameters)
        {
            if (parameters.BarcodeType == null || parameters.BarcodeValue == null)
            {
                return(null);
            }

            string type       = parameters.BarcodeType.ToUpper();
            var    encodeType = EncodeTypes.None;

            switch (type)
            {
            case "QR":
                encodeType = EncodeTypes.QR;
                break;

            case "CODE128":
                encodeType = EncodeTypes.Code128;
                break;

            case "CODE39":
                encodeType = EncodeTypes.Code39Standard;
                break;

            case "EAN8":
                encodeType = EncodeTypes.EAN8;
                break;

            case "EAN13":
                encodeType = EncodeTypes.EAN13;
                break;

            case "UPCA":
                encodeType = EncodeTypes.UPCA;
                break;

            case "UPCE":
                encodeType = EncodeTypes.UPCE;
                break;

            case "ITF14":
                encodeType = EncodeTypes.ITF14;
                break;

            case "CASE":
                encodeType = EncodeTypes.None;
                break;
            }

            if (encodeType == EncodeTypes.None)
            {
                return(null);
            }

            BarcodeGenerator generator = new BarcodeGenerator(encodeType);

            generator.CodeText = parameters.BarcodeValue;

            if (encodeType == EncodeTypes.QR)
            {
                generator.Parameters.Barcode.CodeTextParameters.TwoDDisplayText = parameters.BarcodeValue;
            }

            if (parameters.ForegroundColor != null)
            {
                generator.Parameters.Barcode.ForeColor = ConvertColor(parameters.ForegroundColor);
            }

            if (parameters.BackgroundColor != null)
            {
                generator.Parameters.BackColor = ConvertColor(parameters.BackgroundColor);
            }

            if (parameters.SymbolHeight != null)
            {
                generator.Parameters.Barcode.BarCodeHeight.Millimeters = ConvertSymbolHeight(parameters.SymbolHeight);
                generator.Parameters.Barcode.AutoSizeMode = AutoSizeMode.Nearest;
            }

            generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

            if (parameters.DisplayText)
            {
                generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.Below;
            }

            generator.Parameters.CaptionAbove.Text = "";

            const float scale = 0.4f; // Empiric scaling factor for converting Word barcode to Aspose.BarCode
            float       xdim  = 1.0f;

            if (encodeType == EncodeTypes.QR)
            {
                generator.Parameters.Barcode.AutoSizeMode              = AutoSizeMode.Nearest;
                generator.Parameters.Barcode.BarCodeWidth.Millimeters *= scale;
                generator.Parameters.Barcode.BarCodeHeight.Millimeters = generator.Parameters.Barcode.BarCodeWidth.Millimeters;
                xdim = generator.Parameters.Barcode.BarCodeHeight.Millimeters / 25;
                generator.Parameters.Barcode.XDimension.Millimeters = generator.Parameters.Barcode.BarHeight.Millimeters = xdim;
            }

            if (parameters.ScalingFactor != null)
            {
                float scalingFactor = ConvertScalingFactor(parameters.ScalingFactor);
                generator.Parameters.Barcode.BarCodeHeight.Millimeters *= scalingFactor;
                if (encodeType == EncodeTypes.QR)
                {
                    generator.Parameters.Barcode.BarCodeWidth.Millimeters = generator.Parameters.Barcode.BarCodeHeight.Millimeters;
                    generator.Parameters.Barcode.XDimension.Millimeters   = generator.Parameters.Barcode.BarHeight.Millimeters = xdim * scalingFactor;
                }

                generator.Parameters.Barcode.AutoSizeMode = AutoSizeMode.Nearest;
            }
            return(generator.GenerateBarCodeImage());
        }