public GenerationData(GenerationData other) { Type = other.Type; DefaultSize = other.DefaultSize; MinWidth = other.MinWidth; Width = other.Width; Height = other.Height; Data = other.Data; ValidateCodeText = other.ValidateCodeText; }
private void FitSizes(BarCodeGenerator generator, GenerationData barcodeData) { generator.RecalculateValues(); if (barcodeData.DefaultSize && generator.BarCodeWidth.Pixels < barcodeData.MinWidth) { generator.BarCodeWidth.Pixels = barcodeData.MinWidth; if (generator.EncodeType.Classification == BarcodeClassifications.Type2D) { generator.BarCodeHeight.Pixels = generator.BarCodeWidth.Pixels; } } else if (!barcodeData.DefaultSize) { generator.BarCodeWidth.Pixels = barcodeData.Width; generator.BarCodeHeight.Pixels = barcodeData.Height; } }
public BitmapSource CreateBarcode(GenerationData barcodeData) { var encodeType = barcodeData.Type.GetEncodeType(); using (var generator = new BarCodeGenerator(encodeType, barcodeData.Data)) { generator.ThrowExceptionWhenCodeTextIncorrect = barcodeData.ValidateCodeText; generator.AutoSizeMode = AutoSizeMode.Nearest; generator.EnableEscape = true; generator.ITF.BorderType = ITF14BorderType.None; HideTexts(generator); FitSizes(generator, barcodeData); var barcodeImage = generator.GenerateBarCodeImage(); var barcodeBitmapSource = barcodeImage.ToBitmapSource(); barcodeBitmapSource.Freeze(); return(barcodeBitmapSource); } }