论BarcodeLib库在C#中使用技巧

本文介绍了如何在VisualStudio中通过包安装器安装库,然后利用生成的条码对象在打印预览和窗口中显示条码。示例代码展示了如何设置条码属性,以及如何在PrintPage事件中绘制条码和在PictureBox或窗口任意位置使用Graphics类绘制条码。
摘要由CSDN通过智能技术生成

通过VS的包安装器在线安装(我安装的是最新版本2.4.0,如果安装失败需要切换.net4.7以上版本)

我是在打印预览的画布上面显示出来的(图1)

  private void button1_Click_1(object sender, EventArgs e)
{
printDocument.PrintPage += new PrintPageEventHandler(PrintPage);
 previewControl.Document = printDocument;
 previewControl.Size = new Size(400, 400);//Size大小
 printDocument.DefaultPageSettings.PaperSize = new PaperSize("Custom", previewControl.Width,  previewControl.Height);//设置画布和打印预览一样大小
 previewControl.Invalidate();
 this.Controls.Add(previewControl);
}

 private void PrintPage(object sender, PrintPageEventArgs e)
        {
            Barcode barcode = new Barcode();
            barcode.IncludeLabel = true;
            //barcode.Alignment = AlignmentPositions.LEFT;
            barcode.IncludeLabel = true;
Image img = barcode.Encode(TYPE.CODE128, "HCJ IS YYDS#", Color.Black, Color.White, 200, 40);
            e.Graphics.DrawImage(img, new Point(100, 100));
        }

实际运行效果 barcode.Encode(编码格式,内容,条码颜色,背景颜色,条码宽度,条码高度)

图1


如果想在其他地方显示条码可以这样

可以使用生成器的 Image 属性获取条码图像,并将其显示在窗口中。最简单的方法是使用 PictureBox 控件,将其 Image 属性设置为条码图像(图2)

 private void button1_Click_1(object sender, EventArgs e)
{
    // 创建条码生成器
    Barcode barcode = new Barcode();
    barcode.IncludeLabel = true;
    barcode.Alignment = AlignmentPositions.CENTER;
    barcode.LabelPosition = LabelPositions.BOTTOMCENTER;
   Image img= barcode.Encode(TYPE.CODE128, "1234567890", Color.Black, Color.White, 300, 100);
   // 获取条码图像
    pictureBox1.Image = img;
}

图2


或者,可以使用 Graphics 类的 DrawImage 方法在窗口的任意位置绘制条码(图3)

private void Form1_Paint(object sender, PaintEventArgs e)
{
// 创建条码生成器
    Barcode barcode = new Barcode();
    barcode.IncludeLabel = true;
    barcode.Alignment = AlignmentPositions.CENTER;
    barcode.LabelPosition = LabelPositions.BOTTOMCENTER;
   Image img= barcode.Encode(TYPE.CODE128, "1234567890", Color.Black, Color.White, 300, 100);
   e.Graphics.DrawImage(barcode.Image, 10, 10);
}
//调用
 private void button3_Click_1(object sender, EventArgs e)
        {
    Form1_Paint(this, new PaintEventArgs(this.CreateGraphics(), this.ClientRectangle));             }

实际运行效果如图

图3

有错误的地方还望指出,我再次修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值