Browse our Products

Aspose.BarCode for .NET 24.1 Release Notes

All Changes

KeySummaryCategory
BARCODENET-38800Update QualitySettings API structureEnhancement
BARCODENET-38807Add support of rMQR barcodeEnhancement
BARCODENET-38868BarCodeReader could not find DotCodeBug

Public API changes and backwards compatibility

QualitySettings API

New types:

  • XDimensionMode (Auto/Small/Normal/Large/UseMinimalXDimension),
  • BarcodeQualityMode (High/Normal/Low),
  • DeconvolutionMode (Fast/Normal/Slow),
  • InverseImageMode (Auto/Disabled/Enabled),
  • ComplexBackgroundMode (Auto/Disabled/Enabled).

New QualitySettings API memebers:

  • XDimension - Recognition mode which sets size (from 1 to infinity) of barcode minimal element: matrix cell or bar.
  • MinimalXDimension - Minimal size of XDimension in pixels which is used with UseMinimalXDimension.
  • BarcodeQuality - Mode which enables methods to recognize barcode elements with the selected quality. Barcode element with lower quality requires more hard methods which slows the recognition.
  • Deconvolution - Deconvolution (image restorations) mode which defines level of image degradation.
  • InverseImage - Mode which enables or disables additional recognition of barcodes on images with inverted colors (luminance).
  • ComplexBackground - Mode which enables or disables additional recognition of color barcodes on color images.

Quality presets:

  • HighPerformance - HighPerformance recognition quality preset. High quality barcodes are recognized well in this mode.
  • NormalQuality - NormalQuality recognition quality preset. Suitable for the most of barcodes.
  • HighQuality - HighQuality recognition quality preset. This preset is developed for low quality barcodes. Allows to detect highly damaged barcodes.
  • MaxQuality - MaxQuality recognition quality preset. This preset is developed to recognize all possible barcodes, even incorrect barcodes.

Following QualitySettings API memebrs were removed:

  • MaxBarCodes,
  • HighQualityDetection,
  • MaxQualityDetection.
  • AllowInvertImage,
  • ReadTinyBarcodes,
  • CheckMore1DVariants,
  • AllowComplexBackground,
  • AllowMedianSmoothing,
  • MedianSmoothingWindowSize,
  • AllowRegularImage,
  • AllowDecreasedImage,
  • AllowWhiteSpotsRemoving,
  • AllowOneDAdditionalScan,
  • AllowOneDFastBarcodesDetector,
  • FastScanOnly,
  • FastScanOnly,
  • AllowMicroWhiteSpotsRemoving,
  • AllowSaltAndPaperFiltering,
  • AllowDetectScanGap,
  • AllowDatamatrixIndustrialBarcodes,
  • AllowQRMicroQrRestoration,
  • UseOldBarcodeDetector,
  • AllowAdditionalRestorations,
  • AllowOneDWipedBarsRestoration,
  • BarcodeSvmDetectorSettings,
  • BarcodeSvmDetectorSettings.ScanWindowSizes,
  • BarcodeSvmDetectorSettings.SimilarityCoef,
  • BarcodeSvmDetectorSettings.RegionLikelihoodThresholdPercent,
  • BarcodeSvmDetectorSettings.SkipDiagonalSearch,
  • BarcodeSvmDetectorSettings.HighPerformance,
  • BarcodeSvmDetectorSettings.NormalQuality,
  • BarcodeSvmDetectorSettings.HighQuality,
  • BarcodeSvmDetectorSettings.MaxQuality.

Micro QR and rMQR codes

RectMicroQR and MicroQR barcode types were added to DecodeType and EncodeTypes. New public properties RectMicroQRVersion and MicroQRVersion were added to the QrParameters of BarcodeParameters.

Sample RectMicroQR generation and recognition code:

var codetext = "Aspose";
using (var generator = new BarcodeGenerator(EncodeTypes.RectMicroQR, codetext))
{
	generator.Parameters.Barcode.QR.RectMicroQrVersion = RectMicroQRVersion.R11x77;
	var image = generator.GenerateBarCodeImage();
	using (var reader = new BarCodeReader(image, DecodeType.RectMicroQR))
	{
		reader.ReadBarCodes();
		Console.WriteLine("Codetext: {0}", reader.FoundBarCodes[0].CodeText);
	}
}

Sample MicroQR generation and recognition code:

var codetext = "Aspose";
using (var generator = new BarcodeGenerator(EncodeTypes.MicroQR, codetext))
{
	generator.Parameters.Barcode.QR.MicroQRVersion = MicroQRVersion.M4;
	var image = generator.GenerateBarCodeImage();
	using (var reader = new BarCodeReader(image, DecodeType.MicroQR))
	{
		reader.ReadBarCodes();
		Console.WriteLine("Codetext: {0}", reader.FoundBarCodes[0].CodeText);
	}
}