创意简约啤酒徽章logo设计/福州360手机端seo

创意简约啤酒徽章logo设计,福州360手机端seo,兰州网站seo公司,广州网站开发定制公司EAN码广泛应用与欧洲的零售业。包括EAN-2、EAN-5、EAN-8和EAN-12码。分别编码 2、5、7 或 12 位数字。此外,可以使用 字符将 EAN-2 和 EAN-5 附加符号添加到 EAN-8 和 EAN-13 符号中,就像 UPC 符号一样。 EAN-8校验码计算: 从左往右奇数位的…

EAN码广泛应用与欧洲的零售业。包括EAN-2、EAN-5、EAN-8和EAN-12码。分别编码 2、5、7 或 12 位数字。此外,可以使用 + 字符将 EAN-2 和 EAN-5 附加符号添加到 EAN-8 和 EAN-13 符号中,就像 UPC 符号一样。
EAN-8校验码计算:

  • 从左往右奇数位的数相加乘以3得出C1
  • 偶数位的数相加得出C2
  • C1+C2得出CC
  • 找到比CC大的最小10的倍数为CX
  • CX-CC的值即为校验码
    EAN-13校验码计算跟EAN-8计算规则一样。

例如:7432365
C1 = (5+3+3+7)*3; C1=54;
C2 =6+2+4; C2=12;
CC=C1+C2; CC=66;
CC=70;
校验码即为CX-CC; 70-66=4;

EAN码默认生成校验码文档中是这样描述的:
All of the EAN symbols include check digits which are added by Zint. If you are encoding an EAN-8 or EAN-13 symbol and your data already includes the check digit then you can use symbology BARCODE_EANX_CHK (14) which takes an 8 or 13-digit input and validates the check digit before encoding
下边我们一起来看看EAN-8跟EAN-13码生成相关的代码:

std::string strContent = "1234567";
CRect rcCode(0,0,200,50);struct zint_symbol* symbol;
symbol = ZBarcode_Create();
symbol->symbology = BARCODE_EANX;  //BARCODE_EANX_CHK
symbol->input_mode = DATA_MODE; //数据编码格式
int nRet = ZBarcode_Encode_and_Buffer_Vector(symbol, (unsigned char*)strContent.c_str(), strContent.size(), 0);
if (nRet == 0)
{ZBarcode_Print(symbol, 0);//拿到绘制的所有黑色条int nMinLen = 500;int nMaxLen = 0;std::vector<CRect> vecBlackRect;if (symbol->vector){struct zint_vector_rect* rect = symbol->vector->rectangles;while (rect){CRect rcTmp;rcTmp.left = rect->x;rcTmp.top = rect->y;rcTmp.right = rcTmp.left + rect->width;rcTmp.bottom = rcTmp.top + rect->height;vecBlackRect.push_back(rcTmp);if (rect->height > nMaxLen) nMaxLen = rect->height;if (rect->height < nMinLen) nMinLen = rect->height;rect = rect->next;}}//计算在rcCode中绘制每个单位的宽跟标准的宽,主要绘制的时间用double nDrawUint = (double)rcCode.Width() / symbol->width;double nUint = (double)symbol->bitmap_width / symbol->width;std::vector<CRect> vecDrawBlack;  //绘制条码条的真实区域for (int i = 0; i < vecBlackRect.size(); i++){//分出那些是绘制长条,那些绘制短条CRect rcTmp(vecBlackRect[i]);rcTmp.left = rcTmp.left / nUint * nDrawUint;rcTmp.right = rcTmp.right / nUint * nDrawUint;if (rcTmp.Height() == nMaxLen){//长条  //实际绘制的rc的top跟bottom即为rcCode的top跟bottom   }else{//短条//此处如果要区分文本位置则需要特殊处理//如果文本在上边则绘制的rc的top为rcCode的top加上文本高度或者自定义的一个高度。rc的bottom为rcCode的bottom//如果文本在下边则绘制的rc的top为rcCode的top。rc的bottom为rcCode的bottom减去文本高度或者自定义的一个高度       }            }//拿到计算出的真实绘制区域然后再进行单个绘制或者以路径的方式绘制//TODO://文本的绘制//EAN-8码的文本分成了2部分,在绘制时分别绘制即可//TODO:
}

EAN-13码的绘制基本与EAN-8相同,也是分出长短条再分别绘制。不同的地方在于再绘制EAN-13码时文本时分成3部分的(参考UPC-E码)。
对于EAN-2、EAN-5码以及组合码都可做相似的处理。
EAN-2、EAN-5码可作为EAN-8、EAN-13码的补充码出现。
比如:1234567+12(EAN8+EAN2)该数据在生成时是会生成一个EAN-8码跟EAN-2码在绘制时分开绘制即可。

另外在实际使用中如果传入的数据匹配不到对应的位数Zint会通过在数据前边添加0的方式来处理。
比如:传入1,位数达不到两位Zint会自动补个0使数据变为01然后再按EAN-2码格式编码;
传入123456,位数不够七位会自动补全成0123456然后再处理;
对于组合码也同样:123456+1位数不够,会自动补全成0123456+01然后在处理;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72343.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QT实现简约美观的动画Checkbox

*最终效果: * 一共三个文件: main.cpp , FancyCheckbox.h , FancyCheckbox.cpp main.cpp #include <QApplication> #include "FancyCheckbox.h" #include <QGridLayout> int main(int argc, char *argv[]) {QApplication a(argc, argv);QWidget* w new…

Hadoop之01:HDFS分布式文件系统

HDFS分布式文件系统 1.目标 理解分布式思想学会使用HDFS的常用命令掌握如何使用java api操作HDFS能独立描述HDFS三大组件namenode、secondarynamenode、datanode的作用理解并独立描述HDFS读写流程HDFS如何解决大量小文件存储问题 2. HDFS 2.1 HDFS是什么 HDFS是Hadoop中的一…

使用AoT让.NetFramework4.7.2程序调用.Net8编写的库

1、创建.Net8的库&#xff0c;双击解决方案中的项目&#xff0c;修改如下&#xff0c;启用AoT&#xff1a; <Project Sdk"Microsoft.NET.Sdk"><PropertyGroup><OutputType>Library</OutputType><PublishAot>true</PublishAot>&…

Goby 漏洞安全通告| Ollama /api/tags 未授权访问漏洞(CNVD-2025-04094)

漏洞名称&#xff1a;Ollama /api/tags 未授权访问漏洞&#xff08;CNVD-2025-04094&#xff09; English Name&#xff1a;Ollama /api/tags Unauthorized Access Vulnerability (CNVD-2025-04094) CVSS core: 6.5 风险等级&#xff1a; 中风险 漏洞描述&#xff1a; O…

端到端自动驾驶——cnn网络搭建

论文参考&#xff1a;https://arxiv.org/abs/1604.07316 demo 今天主要来看一个如何通过图像直接到控制的自动驾驶端到端的项目&#xff0c;首先需要配置好我的仿真环境&#xff0c;下载软件udacity&#xff1a; https://d17h27t6h515a5.cloudfront.net/topher/2016/November…

网络空间安全(7)攻防环境搭建

一、搭建前的准备 硬件资源&#xff1a;至少需要两台计算机&#xff0c;一台作为攻击机&#xff0c;用于执行攻击操作&#xff1b;另一台作为靶机&#xff0c;作为被攻击的目标。 软件资源&#xff1a; 操作系统&#xff1a;如Windows、Linux等&#xff0c;用于安装在攻击机和…

DeepSpeek服务器繁忙?这几种替代方案帮你流畅使用!(附本地部署教程)

作者&#xff1a;后端小肥肠 目录 1. 前言 2. 解决方案 2.1. 纳米AI搜索&#xff08;第三方平台&#xff09; 2.2. Github&#xff08;第三方平台&#xff09; 2.3. 硅基流动&#xff08;第三方API&#xff09; 3. 本地部署详细步骤 3.1. 运行配置需求 3.2. 部署教程 4…

prisma+supabase报错无法查询数据

解决方案&#xff0c;在DATABASE_URL后面增加?pgbouncertrue

Linux知识-第一天

Linux的目录机构为一个树型结构 其没有盘符这个概念&#xff0c;只有一个根目录&#xff0c;所有文件均在其之下 在Linux系统中&#xff0c;路径之间的层级关系 使用 / 开头表示根目录&#xff0c;后面的表示层级关系 Linux命令入门 Linux命令基础 Linux命令通用格式 comman…

QT实现单个控制点在曲线上的贝塞尔曲线

最终效果: 一共三个文件 main.cpp #include <QApplication> #include "SplineBoard.h" int main(int argc,char** argv) {QApplication a(argc, argv);SplineBoard b;b.setWindowTitle("标准的贝塞尔曲线");b.show();SplineBoard b2(0.0001);b2.sh…

word中交叉引用多篇参考文献格式[1-2]或[1-4]操作

划重点 更改左域名&#xff0c;输入 \#"[0" 更改中间域名&#xff0c;输入\#"" 更改右域名&#xff0c;输入 \#"0]" 1.[2-3]格式 首先点击交叉引用&#xff0c;引用参考文献 右击鼠标&#xff0c;点击切换域代码&#xff0c;对于左域名 删除 * …

【银河麒麟高级服务器操作系统】服务器测试业务耗时问题分析及处理全流程分享

更多银河麒麟操作系统产品及技术讨论&#xff0c;欢迎加入银河麒麟操作系统官方论坛 https://forum.kylinos.cn 了解更多银河麒麟操作系统全新产品&#xff0c;请点击访问 麒麟软件产品专区&#xff1a;https://product.kylinos.cn 开发者专区&#xff1a;https://developer…

NAT,代理服务,内网穿透

NAT 把报文的源IP替换为途径路由器的WAN口IP NAPT 如何将数据从公网转回给内网的主机&#xff1f;通过NAPT&#xff08;转换表&#xff09;来实现&#xff0c;每次从内网到公网&#xff0c;公网到内网都会根据转换表来进行 细节&#xff1a; NAT转换时&#xff0c;值替换源…

大模型分布式训练和优化

1. 分布式训练概述 随着语言模型参数量和所需训练数据量的急速增长,单个机器上有限的资源已无法满足大语言模型训练的要求。因此,设计分布式训练(Distributed Training)系统来解决海量的计算和内存资源需求问题变得至关重要。 分布式训练是指将机器学习或深度学习模型训练任…

JUnit 版本影响 Bean 找不到

JUnit 版本影响 Bean 找不到 在为实现类编写测试类时&#xff0c;在测试类中使用构造器注入 Bean 时&#xff0c;提示找不到 Bean&#xff0c;代码如下&#xff1a; Service public class WeChatServiceImpl implements IWeChatService {Overridepublic String getNumber(Str…

夸父工具箱(安卓版) 手机超强工具箱

如今&#xff0c;人们的互联网活动日益频繁&#xff0c;导致手机内存即便频繁清理&#xff0c;也会莫名其妙地迅速填满&#xff0c;许多无用的垃圾信息悄然占据空间。那么&#xff0c;如何有效应对这一难题呢&#xff1f;答案就是今天新推出的这款工具软件&#xff0c;它能从根…

《深度学习进阶》第7集:深度实战 通过训练一个智能体玩游戏 来洞察 强化学习(RL)与决策系统

深度学习进阶 | 第7集&#xff1a;深度实战 通过训练一个智能体玩游戏 来洞察 强化学习&#xff08;RL&#xff09;与决策系统 在深度学习的广阔领域中&#xff0c;强化学习&#xff08;Reinforcement Learning, RL&#xff09;是一种独特的范式&#xff0c;它通过智能体与环境…

MAC 本地搭建部署 dify(含 github访问超时+Docker镜像源拉取超时解决方案)

目录 一、什么是 dify&#xff1f; 二、安装 docker 1. 什么是 docker&#xff1f; 2. docker下载地址 三、安装 dify 1. dify下载地址 2.可能遇到问题一&#xff1a; github访问超时 3.下载后完成解压 4.进入到 cmd 终端环境&#xff0c;执行下面三个命令 5.可能遇到…

USB3.0设备控制器驱动分析

一、USB驱动框架分析 USB控制器作为device的驱动框架分为&#xff1a;gadget Function驱动、gadget Function API、Composite以及UDC驱动。 gadget Function 驱动&#xff1a; 解释&#xff1a;是针对 USB 设备特定功能的驱动程序。功能&#xff1a;负责实现 USB 设备对外提供的…

《Redis 入门指南:快速掌握高性能缓存技术》

目录 一、准备工作 二、操作数据库 2.1 切换数据库 2.2 存储和查看数据 一、存储语法 二、一次性存储多个键值对 三、追加值 四、查看值的类型 五、查询值 六、一次查询多个值 七、查看当下数据库所有的键 八、删除键 九、查看 键 是否存在 十、重命名键 2.3 过期…