精华内容
下载资源
问答
  • 一维条形码生成并且保存成bmp图片,以方便打印C++MFC源码.输入数字即可转化成bmp一维码图像,且可在图像上打字.方便做出入库系统用
  • 如何生成一维条码图片

    千次阅读 2017-02-22 21:20:03
    在创建类型对话框的列表双击”创建一维条码”. 出现一维条码参数对话框,如下图。 根据需要选择编码类型,条码颜色,然后输入条码号,单击”确定”按钮。(如果想生成透明的条码图,需要勾上”透明”选择框)...

    运行多多涂吧,在主窗口点击新建按钮,打开新建类型对话框。

    在创建类型对话框的列表双击创建一维条码”.

    出现一维条码参数对话框,如下图。 根据需要选择编码类型,条码颜色,然后输入条码号,单击确定按钮。(如果想生成透明的条码图,需要勾上透明选择框)。


    条码编码类型有:Ean8 , Ean13 , Code128A , Code128B , Code128C , Code39 , Code93 , Code25 , HIBC128 , HIBC39 , Code128Auto , GS1-128 , I2of5 , Codebar , MSI ,Code11 ,UPC-A , UPC-E , Industria25 , Matrix25 , Toshiba ,ISBN等。

     

    一个漂亮的标准的条码图产生了。 如下图:


    下面是使用多多涂吧创建的不同颜色和编码类型的条码,不知道老司机能否一样看出是哪些编码的条码。


    最新多多涂吧下载地址:

    http://www.hdy.net.cn/softshare/tuba.htm

    QQ交流群: 295860595   



    展开全文
  • 生成一维条形码

    2015-12-09 13:46:15
    生成商品条形码,向条形码中加入信息,可扫描。包含java代码和jar包
  • c#一维条码生成图片

    千次阅读 2015-12-22 15:00:53
    //条码颜色  b.IncludeLabel = true;  b.Alignment = BarcodeLib.AlignmentPositions.LEFT;  b.LabelPosition = BarcodeLib.LabelPositions.BOTTOMCENTER;//code的显示位置  b.ImageFormat = System.Drawing...

    private void button1_Click(object sender, EventArgs e)
            {
                pictureBox1.Image = null;
                System.Drawing.Image image;
                int width = 148, height = 55;
                string fileSavePath = AppDomain.CurrentDomain.BaseDirectory + "BarcodePattern.jpg";
                if (File.Exists(fileSavePath))
                {
                    File.Delete(fileSavePath);
                }
                string value = textBox1.Text;
                GetBarcode(height, width, BarcodeLib.TYPE.CODE128, value, out image, fileSavePath);
                pictureBox1.Image = Image.FromFile("BarcodePattern.jpg");
            }


            public static void GetBarcode(int height, int width, BarcodeLib.TYPE type, string code, out System.Drawing.Image image, string fileSaveUrl)
            {
                try
                {
                    image = null;
                    BarcodeLib.Barcode b = new BarcodeLib.Barcode();
                    b.BackColor = System.Drawing.Color.White;//图片背景颜色
                    b.ForeColor = System.Drawing.Color.Black;//条码颜色
                    b.IncludeLabel = true;
                    b.Alignment = BarcodeLib.AlignmentPositions.LEFT;
                    b.LabelPosition = BarcodeLib.LabelPositions.BOTTOMCENTER;//code的显示位置
                    b.ImageFormat = System.Drawing.Imaging.ImageFormat.Jpeg;//图片格式
                    System.Drawing.Font font = new System.Drawing.Font("verdana", 10f);//字体设置
                    b.LabelFont = font;
                    b.Height = height;//图片高度设置(px单位)
                    b.Width = width;//图片宽度设置(px单位)


                    image = b.Encode(type, code);//生成图片
                    image.Save(fileSaveUrl, System.Drawing.Imaging.ImageFormat.Jpeg);


                }
                catch (Exception ex)
                {


                    image = null;
                }
            }

    展开全文
  • android二维码生成和扫描,条形码一维码)生成。提示找不到资源,但是能运行起来,如果有知道原因的,请留言告知。
  • 废了好大劲 ,终于搞出来了个 打印小票的功能,请各位使用!
  • NULL 博文链接:https://lucifer-li6.iteye.com/blog/1637687
  • 用于在Android平台上生成线性和2维条形码图片。 主要特性: 1、非常容易在Android平台上使用 2、从Java barcode generator演变过来 3、兼容Android 1.5及以上版本的SDK 4、生成高质量的线性和矩阵条码图像 5、...
  • 一维码生成软件 条形码生成器

    热门讨论 2012-07-30 14:20:57
    绿色一维码生成软件 条形码生成器安装的 2个软件 你可以根据喜好选择
  • 一维条码解码演示程序说明 1、用以解码一维条码(包括EAN_13,EAN_8,UPCA,UPCE,CODE_39,CODE_128,CODE_I25,CODA_BAR), 2、适用于windows环境开发工具。 3、支持BMP JPG TIF格式. 4、最多解码3个字节,性能有所保留。...
  • 一维条形码识别的整个过程原理通俗易懂讲解

    万次阅读 多人点赞 2019-01-14 13:28:38
    以下为一个示意图,一维条形码一共有如下几个区域组成(其实一个条形码下面已经给出了代表哪些数字了,我写的这篇文章讲述其原理,教机器如何读取) 首先明白如下几点: 一、条码的黑色条表示二进制的1,...

    这里我随便在我的编译原理这本书后面拍的一个条形码来进行说明

    以下为一个示意图,一维条形码一共有如下几个区域组成(其实一个条形码下面已经给出了代表哪些数字了,我写的这篇文章讲述其原理,教机器如何读取)

    首先明白如下几点:

    一、条码的黑色条表示二进制的1,白色代表0,而且0.33mm宽度的黑色或者白色条为一个基本的二进制位,下面可以看出有的黑色条很宽,说明连着好几个二进制1,下面这个图是上面那个图的放大。

    二、一维条形码只能表示数字,不能表示字母符号和汉字,每个数字由7个二进制位组成,而且这些二进制组成的规则不是ASCII码,而是自己的一套编码规则,比如 0000 101,这个表示的不是数字5(ASCII码表示的就是5),应该按照官方给的如下编码表进行解码,查找下面的表发现是左侧数据符的偶性字符(B组)中的6。起始符,终止符编码为101,分隔符编码为01010(没有为什么,官方规定的,如果哪天你发明了啥,你就是官方,你想咋规定就咋规定)

    三、可以数一下上面的两个条形码,一维条形码都是由13个数字(是1 2 3。。。这样的数字,不是二进制0 1 0 10这样的数)组成,分别代表如下的意思,:前三个数:制造码,接着四个数:制造商代码,接着五个数:商品标识代码,最后一个数:校验码

    比如第二张图片条形码是692 0152 46102 0,

    692(制造码),0152(制造商代码),46102商品标识代码,0(校验码)可以用来防伪以及识别校验

    而第一个数字(被称为前置码)是隐藏的,不占用黑条白条来表示(由后面数字的奇偶性来推断出,这个是官方规定的规则,后面我会进一步解释其原因),所以扣掉一个数字,总的只有12个数字(左侧数据符6个+右侧数据符6个),刚刚我说了一个数字由7个二进制位组成,每一个二进制位由一个黑条或者白条来表示,而每一个条的宽度为0.33mm,所以这里可以计算一下:

    (13-1)*7+11 = 95个黑色或者白色的单位宽度0.33mm的条,其中的11个二进制位是起始符,终止符编码为101,分隔符编码为01010,总共占掉11个黑色或者白色的条

    95*0.33 = 31.35mm = 3.135cm,你可以用尺子量一下你所看到的一维码,总的宽度是不是这么宽

    四、上面这个官方EAN-13编码表是最常用的一维码编码方式,我们认真观察一下会发现,同一个数字竟然有三种编码方式,而且每一个编码结果都对应唯一的一个数字(你在上面找不出重复的两个二进制串对应同一个数字),也就是编码是唯一的,只要随便给我一个二进制串0001011,对比上面的表就可以唯一确定对应的是左侧奇性字符A组的9,这个数字。但是你给我一个数字9,我却不能唯一确定他对应的是哪个二进制串,因为有三种编码方式,上表可以找出0001011,0010111,1110100三个二进制串与之对应。这个意思就是解码出数字是唯一的,但是逆回去却不是唯一的,不过没关系,我们条形码代表的就是一个二进制串,需要的仅仅是解码就行了,所以解码出来的每个数字一定是唯一的。

    五、刚刚说的第一个数字为啥是隐藏的,可以直接由后面数字的奇偶性推断出来,以及与刚刚那个解码表的三种编码方式有什么联系,为什么每个数字要规定三种二进制串的编码方式从而搞得这么麻烦,接下来揭开它的神秘面纱:

    再来看看这张图,图中用黑或者白条能表示的数字,真正的其实只有12个数字(左侧数据符6个,右侧数据符6个),第一个前置码6这个数字实际上是由 左侧数据符6个数的奇偶性推测出来的,这个具体什么意思呢

    比如刚刚上面图片条形码是692 0152 46102 0,

    692(制造码),0152(制造商代码),46102商品标识代码,0(校验码)可以用来防伪以及识别校验

    这里第一个6就是前置码,920152称为左侧数据符,461020称为右侧数据符。而你如果用扫描枪扫描这个条形码,实际上获得的只是92 0152 46102 0这12个数,那为啥就能得到前置码6,最后得到最终的一维码为692 0152 46102 0的呢,实际上这里的前置码6就是由左侧数据符920152的奇偶性推断出来的,首先指明一个误区,不是指9奇数,2偶数,0偶数...这样的奇偶性,而是指下面这个表1 EAN-13编码强制规定的奇偶性(其实不是啥奇偶性,就是官方搞了这么一个名字,我觉得有点误导人),来看看这个表,我们可以得出,左侧数据符分为奇性字符,偶性字符两种,而右侧数据符都被规定为偶性字符了。我们来看看扫码枪的执行过程吧:扫码枪一次性“滴”扫完了整个条形码,实际上是串行的,慢动作来看就是,从这边第一个黑条一个一个往右边扫描,直到扫完这95个条(指的是单位宽度0.33mm的条,很宽的黑色条是包含了好几个黑条)。那么扫到的这些条,按照组成规则,会自动去掉起始符,中间分隔符,终止符,剩下了真正有用的条。现在前7个条(黑条代表二进制1,白条代表0)就会根据下面这个表EAN-13查找出对应的字符,并记录其左右性和奇偶性,

    除开前置码,现在前7个条是 白,白,白,黑,白,黑,黑(注:这里所说的白,黑条指的是单位宽度0.33mm的条,你看到的很宽的黑条实际上是由好几个单位宽度的黑条组成的,也就是会解析出来好几个连着的二进制1)。

    也就是0001011,从上图中也能清清楚楚看出就是0001011,查下面的表发现对应数字9(当然条形码下面也直接标出了9,但是扫码枪不知道,他只能识别黑条,白条),那么再看他属于的类,发现它属于左侧数据符,而且是奇性字符(注:和9是奇数没有任何关系),我们再看看,因为我们的扫码枪是顺序扫描(从左往右扫描),那前六个扫到的当然就属于左侧字符啦,这里我们跟我们查表出来是左侧数据符相吻合了,就说明完全正确了,我们的扫码枪或者一维码没有拿反(其实官方这个表之所以这样规定,就是可以判断扫描正反,防止扫描错误)。同时从这个表我们记录下这个字符9属于奇性字符。接下来我们继续往右扫描,得到0011011,查表发现是左侧偶性字符2,仍然是左侧字符,吻合,而且记录下他的奇偶性为偶性,再继续向右扫描得到。。。。。。

    扫描完左侧字符的42个条码后(每个字符由7个条码组成,左侧字符总共有6个,总的就是42个条码),得到了六个字符920152后,同时得到了这六个字符的奇偶性(注:这里说的奇偶性不是指数字本身的奇偶性,而是上面官方表中强行规定的奇偶性),比如是,奇,偶,偶,偶,奇,奇,然后再查下面的表2,发现对应的前置码为6(o代表奇性,E代表偶性)。所以我们的扫码枪扫描得到6个数,然后又推导出了第一个前置码,所以就得到了7个数6920152,然后同理再扫描右侧数据符6个数就行了,只是不需要记录奇偶性了,因为我们已经不再需要推导啥数字了(而且从上面的表可以看出,右侧数据符都被强行规定为偶性字符了),扫描右侧字符得到461020,所以现在总的一维码就是6 920152 461020,ok总的一维码识别以及结束了,剩下了就是查数据库692(制造码,),0152(制造商代码),46102商品标识代码,0(校验码)可以用来防伪以及识别校验,跟数据库进行对比,得到到底属于哪的制造码,哪家制造商,属于哪个商品了呀。对了这里校验码的作用讲一下,是最后一个数,用于判断读取是不是正确的,就是判断这个一维码是否被人恶性破坏了,或者扫码枪自己坏了等等情况。

    注:从上面这个编码表可以看出,每个数字都是由0..1..0....1或者1..0..1.0这样子组成的(黑条代表1,白条代表0),

    也就是说明每个数字一定有两个交错黑条和两个交错排列的白条组成,这是官方规定的,没有为什么,可以仔细观察你所看到的一维码,一定是这样的规则

    总结:一维码读取过程如下

    1、扫码枪利用一维码上面白和黑条的不同反光率,射出的红色光线得到不同的反射强度,然后利用光电传感器转为电信号,滤波放大后转为数字信号0,1。每个数字由7个黑色或者白色单位宽度的条组成。当然你可以用摄像头拍摄然后图像处理方式进行一维码中0,1的提取也是可以的

    2、从左往右扫描得到左侧6个数字,同时根据编码表给出的奇偶性推导出第一个前置码为多少,再扫描右侧数据符6个,得到了总的13个数据符

    2、这13个数字里面包含了产品的重要信息,跟数据库进行对比得到产品的生产商,产品名称等信息

    我在写这篇文章之前也是参考了很多的文章,其实我觉得讲得都不直观,很多重要点都没能通俗表述出来,我也是参考那么多文章加上自己的理解,写出的这篇目前为止最为通俗易懂的文章了

    展开全文
  • js生成一维码(条形码)

    热门讨论 2013-05-27 08:42:46
    (function() { if (!exports) var exports = window; var BARS = [212222,222122,222221,121223,121322,131222,122213,122312,132212,221213,221312,231212,112232,122132,122231,113222,123122,123221,223211,...
  • ASBarcode 类 为产生条形码的工具类 DrawImage 类 修改图片的工具类 DrawImageModel 类修改图片的模型类
  • QT生成一维条形码

    千次阅读 2019-02-23 17:05:02
    QT生成一维条形码 最近在做一款收银系统,需要使用条形码,商品的条形码一般采用EAN13规则。新手一枚,看不懂大神写的关于zint和QZXing的使用方法,很多也是识别条形码和二维码的方法,并没有太好的帖子写生成条形...

    QT生成一维条形码

    最近在做一款收银系统,需要使用条形码,商品的条形码一般采用EAN13规则。新手一枚,看不懂大神写的关于zint和QZXing的使用方法,很多也是识别条形码和二维码的方法,并没有太好的帖子写生成条形码。参考https://blog.csdn.net/abcpanpeng/article/details/8130392写了几十行代码,可以制作13位的EAN13规则的条形码,不满13位补足13位。

    下面是原始代码

    void MainWindow::Code13(QString codein)
    {
        int codeinLenth = codein.length();
        while (codeinLenth < 13) {//补足13位
            codein = "0" + codein;//前位补0
            codeinLenth = codein.length();
        }
        //奇偶性表0为奇,1为偶,x为纵,y为横
        int P[10][6]={0,0,0,0,0,0,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,1,1,0,0,1,0,0,1,1,0,1,1,0,0,1,0,1,1,1,0,0,0,1,0,1,0,1,0,1,0,1,1,0,0,1,1,0,1,0};
        int x=0,y=0;
        QString pp="";
        while (x<10) {
            y=0;
            pp="";
            while (y<6) {
                pp = pp+QString("%1").arg(P[x][y]);
                y++;
            }
            x++;
        }
    
        //字符集表
        QString LR[10][3]={"0001101","0100111","1110010","0011001","0110011","1100110","0010011","0011011","1101100","0111101","0100001","1000010","0100011","0011101","1011100","0110001","0111001","1001110","0101111","0000101","1010000","0111011","0010001","1000100","0110111","0001001","1001000","0001011","0010111","1110100"};
        x=0;y=0;
        while (x<10) {
            y=0;
            pp="";
            while (y<3) {
                pp=pp+ "  |  "+LR[x][y];
                y++;
            }
            x++;
        }
    
        QString l0 = "101";//左手警戒条,固定不变
        int in1 = codein.mid(0,1).toInt();//第一个字符
        x=0;
        int EN[6];//判断采用哪一行的规则
        while (x<10) {
            if(in1 != x)
            {
                x++;
            }else{
                y=0;
                while (y < 6) {
                    EN[y] = P[x][y];
                    y++;
                }
                x=10;//跳出
            }
        }
        x=0;y=0;
        QString codeout[15];//0开始到14
        int num = 0;
        while (num < 15) {
            if (num == 0)
            {
                codeout[num] = "101";//左手警戒条固定不变
            }else if (num == 7)
            {
                codeout[num] = "01010";//中间警戒条固定不变
            }else if (num == 14)
            {
                codeout[num] = "101";//右手警戒条固定不变
            }else{
                if (num >0 && num < 7)
                {
                    int inx = codein.mid(num,1).toInt();
                    if (EN[num - 1] == 0)
                    {
                        codeout[num] = LR[inx][0];
                    }else{
                        codeout[num] = LR[inx][1];
                    }
                }else if (num >7 && num < 14)
                {
                    int inx = codein.mid(num-1,1).toInt();
                    codeout[num] = LR[inx][2];
                }
            }
            num++;
        }
        x=0;
        //QString Codeout;
        Codeout = "";
        while (x < 15) {
            Codeout = Codeout + codeout[x];
            x++;
        }
    }
    
    

    使用方法很简单,在.h文件中声明QString Codeout;复制上面代码到.cpp文件中。然后使用QPainter绘制条形码。codein 是13位的条码数字,Codeout是生成的95位数字,只有0和1,使用QPainter绘图时,1画矩形,0不画,就行了。

    void MainWindow::paintEvent(QPaintEvent *)
    {
            QPainter painter(this);
            QPen pen; //画笔
            pen.setColor(QColor(0, 0, 0));
            QBrush brush(QColor(0, 0, 0, 255)); //画刷
            painter.setPen(pen); //添加画笔
            painter.setBrush(brush); //添加画刷
            //painter.drawRect(50, 50, 200, 100); //绘制矩形
            int i = 0;
            this->Code13("6901028024969");
            while (i < 95) {
               int x = Codeout.mid(i,1).toInt();
                if (x == 1)
                {
                    painter.drawRect(i*2+25, 250, 2, 100); //绘制矩形
                }
                i++;
            }
    }
    
    

    Bingo

    展开全文
  • 条码技术——从一维到二维 从条形码到二维码 生活中,我们经常能够看到二维码,到处充斥着“扫一扫”,但是,你是否想过,小小的二维码里面藏着哪些信息?二维码又是如何被创造出的? 条码技术的诞生从...
  • 1. 包含了zint原始代码,可...2. 采用zint输出svg格式的一维条形码,然后把svg图片转换为png,然后在qt中的label显示,并且把png文件存到本地。 3. 采用QPrinter的方式,直接打印png图片,在条形码机器上输出没有问题。
  • SpringBoot生成条形码(一维码)

    千次阅读 2020-04-23 15:48:23
    } /** * 把带logo的条形码下面加上文字 * @author fxbin * @param image 条形码图片 * @param words 文字 * @return 返回BufferedImage */ public static BufferedImage insertWords(BufferedImage image, String ...
  • 可自动生成条形码一维码) 二维码 包含源码 简单易懂,调取即用, 可设置二维码条形码的背景色和自身颜色 有保存本地图片功能!
  • google zxing读取、生成一维码、二维码图片 google zxing java 一维条形码 二维码 生成 读取
  • Python生成 一维条码

    2021-05-13 09:39:25
    条码库python-barcode 首先需要安装barcode包,在安装barcode包的过程中可能会碰到类似问题 ...一维条码 python-barcode支持的条形码 EAN-8 EAN-13 EAN-14 UPC-A JAN ISBN-10 ISBN-13 ISSN Code 39 C
  • vb.net:一维条码生成、二维条码生成、二维条码识别、分别从文件、屏幕、摄像头等获取条码图片,并从图像自动识别为文本内容、同时可以实现打印、保存为文件等操作的VB.NET2008源程序
  • 用java一维码批量生成(条码图片

    热门讨论 2009-07-30 10:52:31
    按公司的要求自己测试好久才整出来的,好用,给大家共享一下,有什么问题可以问我
  • 一维条形码检测与识别原理

    万次阅读 多人点赞 2016-04-12 17:20:32
    、概念条形码由宽度不同、发射率不同的条(黑色)和空(白色)组成。按照特定的编码规则编制,用来表达组数字、字母信息的图形标识符。 工业25码 EAN-13码 为什么用黑色、白色来表示条形码? 因为...
  • 1、一维条码

    千次阅读 2017-12-07 20:05:04
     1、一维条码 一维条码:由一组规则排列的条、空以及对应的字符组成的标记,“条”指对光线...一维条码制: EAN、39、交叉25、UPC、128、93,ISBN,及Codabar(库德巴)等。    EAN
  • .net使用Code128标准生成条形码(一维码),直接生成图片格式,Qrcode.cs文件中,有直接调用的方法
  • 一维条形码打印程序

    2011-11-01 09:06:34
    一维条形码打印程序 【程序名称】:一维条形码打印程序 【程序版本】:V1.0 【程序开发】:Kawvin 【程序版权】:版权没有,违者不究 【使用方法】: 1.在[方案设计]页面内,设置模板; 1.1-[条码类型]:选择是使用CODE93...
  • 基于MATLAB的一维条码识别摘 要:条码技术是如今应用最广泛的识别和输入技术之一,由于其包含的信息量大,识别错误率低而在各个方面得到很大的重视。它发展迅速并被广泛应用于于工业、商业、图书出版、医疗卫生等各...
  • zxing读取一维条码的原理

    千次阅读 2017-01-18 09:02:37
    zxing读取一维条码主要涉及4个类,分别是LuminanceSource、Binarizer、BinaryBitmap和OneDReader。第1、2和4是抽象类,根据对象的不同有不同的具体实现。...一维条码解码时,从图片的中间行开始,交替
  • Halcon条码定位算法(一维码

    千次阅读 多人点赞 2020-12-23 19:51:06
      Halcon自带条码定位的...观察一维码的特征,排列规则的黑粗线条,相较于文字和边框,一维码突出的特征是线条多且排列规则。   于是采用边缘提取的方式定位一维码。但是,提取边缘后受到一些无关的线条的影响,
  • * 用于将给定的内容生成成一维码 注:目前生成内容为中文的话将直接报错,要修改底层jar包的内容 * * @param content 将要生成一维码的内容 * @return 返回生成好的一维码bitmap * @throws WriterException ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,149
精华内容 2,059
关键字:

一维条码图片