生成条码的简易做法

        做报表时需要显示条码,但手头的VS2013连NUGET连不上,下不了Zebra Crossing库,其实系统里本身就自带很多条码字体,可以利用这些字体生成条码图片,保存到数据库,报表直接从数据库提取图片,这样客户端打印没有对应字体也没关系。

        private void btnCreateBarCode_Click(object sender, EventArgs e)
        {
            picBarCode.Image=createBarCodeImg("1234567890123456", 200, 50, 2, 2);
        }

        private Image createBarCodeImg(string barCode,int imgWidth,int imgHeight,int barcodeLeft,int barcodeTop)
        {
            //条码图片太大也没意义,保存在数据库还浪费空间
            if ((imgWidth <= 0 || imgWidth > 400) || (imgHeight <= 0 || imgHeight > 400))
            {
                return null;
            }
            Bitmap b = new Bitmap(imgWidth, imgHeight);
            using (Graphics g = Graphics.FromImage(b))
            {
                g.Clear(Color.White);
                Font bfont = new Font("Code39AzaleaRegular2", 24);//设定条码字体和大小,Code39AzaleaRegular1、2、3,常规39带条码,也可以看下系统目录的font文件夹下有哪些其他的条码字体,或者网上下载,生成图片保存后客户端电脑上没有对应字体文件也没关系
                g.DrawString(barCode, bfont, Brushes.Black, barcodeLeft, barcodeTop);
                //可以自由定义在条码上下生成自己的文字内容
                Font sfont = new Font("仿宋", 9);
                g.DrawString(barCode, sfont, Brushes.Black, barcodeLeft, barcodeTop + 24+9+1);
            }
            return b;
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值