C#实现条形码识别

见过不少人、经过不少事、也吃过不少苦,感悟世事无常、人心多变,靠着回忆将往事串珠成链,聊聊感情、谈谈发展,我慢慢写、你一点一点看......

1.使用Nuget安装第三方库

dotnet add package ZXing.Netdotnet add package ZXing.Net.Bindings.SkiaSharp

2.识别方法

public class BarcodeReaderService    {        public static string ReadBarcode(SKBitmap readerBitmap, BarcodeFormat barcodeFormat)        {            #region ZXing.NET 0.16.5            //var barcodeReader = new BarcodeReader();            #endregion            #region ZXing.NET 0.16.6 ~0.16.9            var luminanceSource = (Func)(bitmap => new ZXing.SkiaSharp.SKBitmapLuminanceSource(bitmap));            var barcodeReader = new BarcodeReader(null, luminanceSource, null);            #endregion             barcodeReader.Options.PossibleFormats = new List();            barcodeReader.Options.PossibleFormats.Add(barcodeFormat);            barcodeReader.AutoRotate = true;            barcodeReader.Options.TryHarder = true;            barcodeReader.Options.PureBarcode = false;            Result barcodeResult = null;            try            {                barcodeResult = barcodeReader.Decode(readerBitmap);            }            catch (Exception ex)            {            }            return barcodeResult==null ? string.Empty : barcodeResult.Text;        }    }

3.调用

using var readerQRCodeImage = SKBitmap.Decode(@"C:\Demo\Image\QRCode.png");string result = BarcodeReaderService.ReadBarcode(readerQRCodeImage, BarcodeFormat.QR_CODE);Console.WriteLine(result);            using var readerbarCodeImage = SKBitmap.Decode(@"C:\Demo\Image\Code28.png");result = BarcodeReaderService.ReadBarcode(readerbarCodeImage, BarcodeFormat.CODE_128);Console.WriteLine(result);

 

关注我,不失联。有啥问题请留言。

感情恋爱合集

职业发展故事

常用代码片段

程序开发教程

自我备考经验 

你可能感兴趣的:(常用代码片段,c#,开发语言)