公司信息 解决方案 条码设备 条码耗材 工业设备 服务与支持 联系我们

 


您的位置:  敏用首页




C#中通过画线实现CODE39条码的生成方法

发布时间: 2011-2-15 13:06:20
双击自动滚屏打印此页】【关闭本页

条形码的编码规则不外乎是通过线条和线条间间隙的宽窄不同来表示二进制的1和0,通过对条形码的编码规则的研究,完全可以用画图的方式在任何打印机上得到条形码。
下面在C#中通过画线的方法实现CODE39码的生成。
 CODE39码的编码规则是:
1、 每五条线表示一个字符;
2、 粗线表示1,细线表示0;
3、 线条间的间隙宽的表示1,窄的表示0;
4、 五条线加上它们之间的四条间隙就是九位二进制编码,而且这九位中必定有三位是1,所以称为39码;
5、 条形码的首尾各一个*标识开始和结束
第一步,首先进行符号的编码配置
如“1”,使用黑白条表示为NnNwWnWnN(窄黑 窄白 窄黑 宽白 宽黑 窄白 宽黑 窄白 窄黑),表示为二进制0和1为“000110100”
“A”,使用黑白条表示为WnNnNwNnW(宽黑 窄白 窄黑 窄白 窄黑 宽白 窄黑 窄白 宽黑),表示为二进制0和1为“100001001”
第二步,需要转换编码 
 for (int i = 0; i < Code.Length; i++)
            {
                Code39 = Code39 + (string)Decode[Code.Substring(i, 1)] +SPARATOR;
            }
第三步,画线
           for (int i = 0; i < Code39.Length; i++)
            {
                //绘制线条
                if ("0".Equals(Code39.Substring(i, 1)))
                {
                    for (int j = 0; j < WidthXI; j++)
                    {
                        g.DrawLine(pBlack, position + j, 30, position + j, 30 + LineHeight);
                    }
                    position += WidthXI;
                }
                else
                {
                    for (int j = 0; j < WidthCU; j++)
                    {
                        g.DrawLine(pBlack, position + j, 30, position + j, 30 + LineHeight);
                    }
                    position += WidthCU;
                }
                i++;
                //绘制间隔线
                if ("0".Equals(Code39.Substring(i, 1)))
                {
                    position += WidthXI;
                }
                else
                {
                    position += WidthCU;
                }
            }
            return;
        }
第四步,将画好的线进行保存

 


相关同类信息:
  • GBK字库与GB2312字库有什么区别
  • VB应用程序中打印条形码的两种方法
  • 商品条码编码规则
  • PDF417二维条码
  • QR码,二维码
  • 一维条码技术的结构、编码方法及其种类
  • 商品条码的形式与结构
  • 商品条码(EAN、UPC码)

  •  
    © 2003-2007 ChongShang.Com.Cn.