当前位置: 首页 > article >正文

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<SKBitmap, LuminanceSource>)(bitmap => new ZXing.SkiaSharp.SKBitmapLuminanceSource(bitmap));            var barcodeReader = new BarcodeReader<SKBitmap>(null, luminanceSource, null);            #endregion             barcodeReader.Options.PossibleFormats = new List<BarcodeFormat>();            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);

 

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

感情恋爱合集

职业发展故事

常用代码片段

程序开发教程

自我备考经验 


http://www.kler.cn/a/503794.html

相关文章:

  • SpringBoot整合Easy-es
  • 【ArcGIS初学】产生随机点计算混淆矩阵
  • dockerfile
  • MATLAB语言的函数实现
  • lerna使用指南
  • 《探索鸿蒙Next上开发人工智能游戏应用的技术难点》
  • 高录用快检索/JPCS独立出版-第六届新材料与清洁能源国际学术会议(ICAMCE 2025)
  • 国产编辑器EverEdit - 扩展脚本:新建同类型文件(避免编程学习者反复新建保存练习文件)
  • BUUCTF:misc刷题记录4(会持续更新的)
  • leetcode79.单词搜索
  • C# 数据拟合教程:使用 Math.NET Numerics 的简单实现
  • 图像处理|开运算
  • 进程同步之信号量机制
  • OJ12:160. 相交链表
  • LangGraph 教程:初学者综合指南(1)
  • Android string.xml中特殊字符转义
  • 项目概述、开发环境搭建(day01)
  • 【Flink】Flink内存管理
  • Word中设计好标题样式后不显示
  • Postman如何Mock Api
  • 解决pycharm中动态/静态出图的设置问题
  • 数据结构------树
  • AWS设计和实现无人机图形显示和控制系统
  • 机器学习(1):线性回归概念
  • 记录一次FFmpeg的安装过程
  • rtthread学习笔记系列(1) -- 宏