예제 #1
0
 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;
 }
예제 #2
0
 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;
     }
 }
예제 #3
0
        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);
            }
        }