0

我正在尝试生成一个条形码,其文本嵌入在条形码本身之下,但我只能生成没有嵌入文本的条形码。

这是我的代码:

Public Function process_printbarcode(lbl169 As Label)

    Dim length As Integer = 1

    Dim mybarcode As Image = Code128Rendering.MakeBarcodeImage(lbl169.Text.ToString, Integer.Parse(length.ToString()), False)

    Admin_Menu.PictureBox3.Image = mybarcode

    Return True

End Function
4

1 回答 1

0

GenCode128 不包括在条形码下方显示编码值作为图像一部分的选项。您可以使用 Bitmap 和 Graphics 类来修改图像并向其添加文本,但我认为使用具有该功能的不同 DLL 会更容易。我个人使用的一个是 BarcodeLib。您可以通过以下几种方式将其添加到您的项目中:

  1. 通过在包管理器控制台中运行将其添加为Nuget 包Install-Package BarcodeLib -Version 1.0.0.23
  2. 下载项目的GitHub 源代码并自己构建BarcodeLib.dll

无论哪种方式,只需将其作为参考添加到您的解决方案中即可。BarcodeLib 有更多条码参数可供您设置(以及其他几种编码类型),并且创建它们非常容易:

Private Function Code128Image(ByVal value As String, _
                      Optional height As Integer = 100, _
                      Optional barWidth As Integer = 1, _
                      Optional labelIncluded As Boolean = True, _
                      Optional labelPosition As BarcodeLib.LabelPositions = LabelPositions.BOTTOMCENTER, _
                      Optional barcodeRotation As System.Drawing.RotateFlipType = System.Drawing.RotateFlipType.RotateNoneFlipNone) _
                  As System.Drawing.Image
    Using barcodeImage As New BarcodeLib.Barcode
        With barcodeImage
            .Height = height
            .BarWidth = barWidth
            .IncludeLabel = labelIncluded
            .LabelPosition = labelPosition
            .RotateFlipType = barcodeRotation
            Return .Encode(BarcodeLib.TYPE.CODE128, value)
        End With
    End Using
End Function

打电话Admin_Menu.PictureBox3.Image = Code128Image("123456789")会给你:

代码128img.png

于 2017-11-28T15:57:48.607 回答