使用 C# 生成带有徽标的条形码。

我们通常使用条形码以机器可读的形式表示有关产品或公司的编码数据或信息。通常,我们使用带有文本标签的条形码。但是,我们也可以在 .NET 应用程序中以编程方式生成带有公司徽标或图像的条形码。在本文中,我们将学习如何使用 C# 生成带有徽标的条形码。

文章应涵盖以下主题:

为了生成带有徽标或图像的条形码,我们将使用 Aspose.BarCode for .NET API。它使我们能够生成和识别范围广泛的一维和二维条形码类型。请下载 API 的 DLL 或使用 NuGet 安装它。

PM> Install-Package Aspose.BarCode

在 C# 中生成带有徽标的条形码

我们可以按照以下步骤生成带有徽标或图像的条形码:

  1. 首先,使用 EncodeType 和要编码的文本作为参数创建 BarcodeGenerator 类的实例。
  2. 或者,以像素为单位设置条形码大小值。
  3. 接下来,使用 GenerateBarCodeImage() 方法生成 Barcode 图像并将其存储在 Bitmap 中。
  4. 然后,将徽标图像加载为位图。
  5. 之后,使用徽标的高度和生成的条形码图像创建一个新的空位图图像。
  6. 接下来,使用 FromImage() 方法初始化 Graphics 类对象。它需要一个空的位图对象作为参数。
  7. 然后,使用 Clear() 方法清除画布。
  8. 现在,调用 DrawImage() 方法在画布上绘制条形码图像。
  9. 之后,再次调用 DrawImage() 方法在画布上绘制徽标图像。
  10. 最后,使用 Image.Save() 方法保存输出。它将输出文件路径作为参数。

以下代码示例演示了如何使用 C# 生成带有徽标图像的条形码。

// 此代码示例演示如何使用图像而不是代码文本生成条形码。
// 创建 BarcodeGenerator 类的实例
// 设置条形码符号系统 
// 设置条码文字
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.EAN13, "1234567890");

// 以像素为单位设置 QR 码大小值
generator.Parameters.Barcode.XDimension.Pixels = 10;

// 生成条形码图像并将其存储在位图中
Bitmap barcode = generator.GenerateBarCodeImage();

// 将徽标或其他图像加载为位图
Bitmap picture = (Bitmap)Image.FromFile(@"D:\Files\BarCode\aspose-logo.png");

// 使用新的计算高度和宽度创建一个新的空图像
Bitmap output = new Bitmap(Math.Max(barcode.Width, picture.Width), barcode.Height + picture.Height);

// 获取图形对象
using (Graphics g = Graphics.FromImage(output))
{
    // 清除画布 
    g.Clear(Color.White);

    // 在画布上绘制主图像(条形码图像)
    g.DrawImage(picture, new PointF(30, 0));

    // 在条码图像内的画布上绘制第二个图像(徽标图像)
    g.DrawImage(barcode, new PointF(0, picture.Height));
}

// 保存输出图像
output.Save(@"D:\Files\BarCode\output.jpg");
Generate Barcode with Logo in C#

使用 C# 生成带有徽标的 QR 码

同样,我们也可以按照前面提到的步骤生成带有徽标或图像的二维码。但是,我们需要在第一步中将 EncodeType 设置为 QR。

以下代码示例演示了如何使用 C# 生成带有徽标图像的 QR 码。

// 此代码示例演示如何使用图像而不是代码文本生成条形码。
// 创建 BarcodeGenerator 类的实例
// 设置条形码符号系统 
// 设置条码文字
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "1234567890");

// 以像素为单位设置 QR 码大小值
generator.Parameters.Barcode.XDimension.Pixels = 10

// 生成条形码图像并将其存储在位图中
Bitmap barcode = generator.GenerateBarCodeImage();

// 将徽标或其他图像加载为位图
Bitmap picture = (Bitmap)Image.FromFile(@"D:\Files\BarCode\logo.png");

// 使用新的计算高度和宽度创建一个新的空图像
Bitmap output = new Bitmap(Math.Max(barcode.Width, picture.Width), barcode.Height + picture.Height);

// 获取图形对象
using (Graphics g = Graphics.FromImage(output))
{
    // 清除画布 
    g.Clear(Color.White);

    // 在画布上绘制主图像(条形码图像)
    g.DrawImage(picture, new PointF(30, 0));

    // 在条码图像内的画布上绘制第二个图像(徽标图像)
    g.DrawImage(barcode, new PointF(0, picture.Height));
}

// 保存输出图像
output.Save(@"D:\Files\BarCode\qr_output.jpg");
Generate QR Code with Logo using C#

获得免费许可证

您可以获得免费的临时许可证 试用该库而不受评估限制。

结论

在本文中,我们学习了如何生成带有徽标图像的条形码。我们还看到了如何以编程方式生成带有图像的 QR 码。此外,您可以使用 文档 了解更多关于 Aspose.BarCode for .NET API 的信息。如有任何歧义,请随时在 论坛 上与我们联系。

也可以看看