几何尺寸与公差论坛

 找回密码
 注册
查看: 728|回复: 0

CogIDTool扫码工具的编程方法整理

[复制链接]
发表于 2022-12-9 20:23:41 | 显示全部楼层 |阅读模式
//********************************************运行参数设置**RunParams*************************************  
//********************************************                       *************************************  
/*代码系统简介:
                        数据阵:
                        QR代码: QR码是一种矩阵式二维符号编码,信息容量大、可靠性高、可表示多种文字及汉字信息、保密防伪性强等优点。
                   UPC/EAN: 商品条码,用于在世界范围内唯一标识一种商品。我们在超市中最常见的就是EAN和UPC条码。
                        代码39: 因其可采用数字与字母共同组成的方式而在各行业内部管理上被广泛使用
                        代码93:
   已交叉存取2/5个: 即ITF25码,在物流管理中应用较多
                          条码: 即Codebar码,多用于血库,图书馆和照像馆的业务中
                Pharmacode:
           GS1 DataBar:
                        PDF417:  根据不同的条空比例每平方英寸可以容纳250到1100个字符,做为一种新的信息存储和传递技术,从诞生之始就受到了国际社会的广泛关注
           EAN.UCC复合:
                   POSTNET:
                        PLANET:
                 FourState:
*/

//设置->处理模式
ProcessingMode = CogIDProcessingModeConstants.{
        IDMax ;                                                  //采用先进的图像处理和图像分析技术
        IDQuick ;                                                //提供高速解码
}

//设置->要找的数量
NumToFind = 整数                                             //需要查找的数量

//设置->代码系统  常见的
Code39.{
        Enabled           = true/false ;                         //是否勾选 Code39
        FullASCIIMode     = true/false ;                                                 //是否勾选 全ASSCII码模式
        HasChanged        = true/false ;                                                  //默认ture
        HasCheckChar      = true/false ;                                                 //是否勾选 验证
        LengthMax         = 整数 ;                                                                 //最大长度
        LengthMin         = 整数 ;                                                                 //最小长度
        TransmitCheckChar = true/false ;                         //是否勾选 验证并传输
}

UpcEan.{
        AddOnEnabled   = true/false ;                            //如果为真,则允许处理带有2位或5位“附加项”的UPC/EAN符号
        EAN8AddOnValid = true/false ;                                                     //如果为真,则允许带附加符号的EAN-8符号(2位或5位数字)。如果为真,则AddOnEnabled也必须为真。
        Enabled        = true/false ;                                                         //如果为真,请尝试查找和处理UpcEan符号。
        HasChanged     = true/false ;                                                                         
        UPCE1Enabled   = true/false ;                            //UPC-E只适用于数字系统0。如果此属性为真,则允许使用数字系统1处理非标准UPC-E变体。
        UPCEExpanded   = true/false ;                                                         //如果为真,以13位EAN-13格式传输解码后的字符串。如果为假,则发送为数字系统+ 6位+隐式检查。
}

QRCode.{
        Enabled            = true/false;                             //方形二维码的使用
        FlexibleGridSize   = true/false;
        HasChanged         = true/false;
        IgnorePolarity     = true/false;
        MaxGridSize        = 49;                                               //最大网格尺寸
        Model              = CogIDQRCodeModelConstants.{ALL,Micro,Model1,Model2};  //QR模式的选择
        PerspectiveEnabled = true/false;
}

Codabar/Code128/Code93/DataBar/DataMatrix/......


//区域->区域形状
Region = {
        CogCircle ;                                                        //圆形
        CogEllipse ;                                                       //椭圆
        CogPolygon ;                                                       //多边形
        CogRectangle ;                                                     //矩形
        CogRectangleAffine ;                                               //矩形仿射
        CogCircularAnnulusSection ;                                        //环形截面
        CogEllipcalAnnulusSection ;                                        //椭圆翼剖面
        null;                                                              //使用整个图像
}

//结果
Results.Count = 整数 ;                                       //结果数量
Results.DecodeData.DecodeString  = 内容 ;                 //接过内容



//*****************************************************例子**Example*******************************************
//*****************************************************             *******************************************

//变量声明
CogImageCollection images = new CogImageCollection();                                                                                    //图片集合
CogIDTool m_IDTool = new CogIDTool();                                                               //扫码工具
CogImageConvertTool m_convert = new CogImageConvertTool();                                          //图像转换工具
CogRectangle m_rectangle = new CogRectangle();          //创建一个矩形区域
int m_PicNum;
int m_PerNum = 0;

//加载图像源
CogImageFile ImageFiles = new CogImageFile();                                                       //创建图像源
images.Clear();
m_PicNum = 0;
using (FolderBrowserDialog lvse = new FolderBrowserDialog())                                        //打开本地文件夹
{
        if (lvse.ShowDialog() == DialogResult.OK)
        {
                DirectoryInfo dinfo = new DirectoryInfo(lvse.SelectedPath);
                FileInfo[] finfo = dinfo.GetFiles();
                foreach (FileInfo file in finfo)
                {
                        ImageFiles.Open(file.FullName, CogImageFileModeConstants.Read);
                        ICogImage image = ImageFiles[0];                                                        //将图片放入images容器中
                        images.Add(image);
                        m_PicNum++;
                }
        }
}
cogRecordDisplay1.Image = images[0];
cogRecordDisplay1.Fit(true);

//区域选择
m_rectangle.GraphicDOFEnable = CogRectangleDOFConstants.All;
m_rectangle.Interactive = true;
m_IDTool.Region = m_rectangle;
cogRecordDisplay1.InteractiveGraphics.Clear();
cogRecordDisplay1.InteractiveGraphics.Add((ICogGraphicInteractive)m_IDTool.Region, "gu", false);

//运行处理
cogRecordDisplay1.Image = images[m_PerNum];
cogRecordDisplay1.Fit(true);
m_convert.InputImage = images[m_PerNum];                                                            //将传入的图片格式转换
m_convert.Run();                                                                                    //运行转换工具

m_IDTool.InputImage = m_convert.OutputImage;                                                        //扫码工具的输入图像为转换工具的输出图像
m_IDTool.RunParams.ProcessingMode = CogIDProcessingModeConstants.IDMax;
m_IDTool.RunParams.NumToFind = 1;

m_IDTool.RunParams.Code39.Enabled = true;                                                           //勾选 Code39
m_IDTool.RunParams.Code39.FullASCIIMode = false;
m_IDTool.RunParams.Code39.HasChanged = true;
m_IDTool.RunParams.Code39.HasCheckChar = false;
m_IDTool.RunParams.Code39.LengthMax = 40;
m_IDTool.RunParams.Code39.LengthMin = 3;
m_IDTool.RunParams.Code39.TransmitCheckChar = false;

m_IDTool.RunParams.UpcEan.AddOnEnabled = true;
m_IDTool.RunParams.UpcEan.EAN8AddOnValid = false;
m_IDTool.RunParams.UpcEan.Enabled = true;                                                           //查找和处理UpcEan符号
m_IDTool.RunParams.UpcEan.HasChanged = true;
m_IDTool.RunParams.UpcEan.UPCE1Enabled = false;
m_IDTool.RunParams.UpcEan.UPCEExpanded = true;

//m_IDTool.RunParams.QRCode.Enabled = true;                                                         //二维码工具
//m_IDTool.RunParams.QRCode.FlexibleGridSize = false;
//m_IDTool.RunParams.QRCode.HasChanged = true;
//m_IDTool.RunParams.QRCode.IgnorePolarity = false;
//m_IDTool.RunParams.QRCode.MaxGridSize = 49;                                                       //最大网格尺寸
//m_IDTool.RunParams.QRCode.Model = CogIDQRCodeModelConstants.Model2;                               //QR模式的选择
//m_IDTool.RunParams.QRCode.PerspectiveEnabled = true;


//获取结果
string strResult = m_IDTool.Results[0].DecodedData.DecodedString;                                   //结果内容
int nNum = m_IDTool.Results.Count;                                       
————————————————
版权声明:本文为CSDN博主「Strive--顾」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/perfectguyipeng/article/details/90666962
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-5-24 07:17 , Processed in 0.040692 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表