ApiExamples.CustomBarcodeGenerator.GetBarcodeImage C# (CSharp) Метод

GetBarcodeImage() публичный Метод

Implementation of the GetBarcodeImage() method for IBarCodeGenerator interface.
public GetBarcodeImage ( BarcodeParameters parameters ) : Image
parameters BarcodeParameters
Результат Image
        public Image GetBarcodeImage(BarcodeParameters parameters)
        {
            if (parameters.BarcodeType == null || parameters.BarcodeValue == null)
                return null;

            BarCodeBuilder builder = new BarCodeBuilder();

            builder.SymbologyType = ConvertBarcodeType(parameters.BarcodeType);
            if (builder.SymbologyType == (Symbology)int.MinValue)
                return null;

            builder.CodeText = parameters.BarcodeValue;

            if (builder.SymbologyType == Symbology.QR)
                builder.Display2DText = parameters.BarcodeValue;

            if (parameters.ForegroundColor != null)
                builder.ForeColor = ConvertColor(parameters.ForegroundColor);

            if (parameters.BackgroundColor != null)
                builder.BackColor = ConvertColor(parameters.BackgroundColor);

            if (parameters.SymbolHeight != null)
            {
                builder.ImageHeight = ConvertSymbolHeight(parameters.SymbolHeight);
                builder.AutoSize = false;
            }

            builder.CodeLocation = CodeLocation.None;

            if (parameters.DisplayText)
                builder.CodeLocation = CodeLocation.Below;

            builder.CaptionAbove.Text = "";

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

            if (builder.SymbologyType == Symbology.QR)
            {
                builder.AutoSize = false;
                builder.ImageWidth *= scale;
                builder.ImageHeight = builder.ImageWidth;
                xdim = builder.ImageHeight / 25;
                builder.yDimension = xdim;
                builder.xDimension = xdim;
            }

            if (parameters.ScalingFactor != null)
            {
                float scalingFactor = ConvertScalingFactor(parameters.ScalingFactor);
                builder.ImageHeight *= scalingFactor;
                if (builder.SymbologyType == Symbology.QR)
                {
                    builder.ImageWidth = builder.ImageHeight;
                    builder.yDimension = xdim * scalingFactor;
                    builder.xDimension = builder.yDimension;
                }

                builder.AutoSize = false;
            }

            return builder.BarCodeImage;
        }