How to Customize and Add Logos to QR Codes in C#

How to Customize and Add Logos to QR Codes

This article was translated from English: Does it need improvement?
Translated
View the article in English

由于较高的数据容量和便于扫描,二维码比传统条形码更受欢迎。 它们尤其在营销中受到重视,因为其可定制性,包括添加徽标、更改颜色和融入其他品牌元素的选项。

为了满足这一需求,IronBarcode 提供了一套用于自定义二维码的功能。 用户可以生成带有徽标的二维码,更改颜色方案,添加注释。 这些功能由IronDrawing 提供支持,它是一个免费且开源的库。

作为标题:2(快速开始:在一行代码中构建一个品牌二维码)

通过创建带有徽标、定制颜色和注释的二维码立即开始——所有这些都只需最小的设置和一行 IronBarcode 代码。 非常适合希望快速无障碍使用专业品牌的开发人员。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronBarcode with NuGet Package Manager

    PM > Install-Package BarCode

  2. Copy and run this code snippet.

    IronBarCode.QRCodeWriter.CreateQrCodeWithLogo("https://example.com", new IronBarCode.QRCodeLogo("logo.png"), 300).ChangeBarCodeColor(IronSoftware.Drawing.Color.DeepSkyBlue).AddAnnotationTextAboveBarcode("Scan Me", new IronSoftware.Drawing.Font("Verdana",12), IronSoftware.Drawing.Color.White, 5).SaveAsPng("customQR.png");
  3. Deploy to test on your live environment

    Start using IronBarcode in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

简约工作流程(5 步)

  1. 下载用于自定义和添加徽标到二维码的 C# 库
  2. 使用 CreateQrCodeWithLogo 方法创建带有徽标的二维码
  3. 使用 ChangeBarCodeColor 方法为二维码添加自定义颜色
  4. 使用 AddAnnotationTextAboveBarcode 方法在二维码上添加注解
  5. 使用 AddBarcodeValueTextBelowBarcode 方法显示二维码的值


创建带徽标的二维码示例

生成二维码时需要一个QRCodeLogo 对象来嵌入徽标图像。 CreateQrCodeWithLogo 方法也用于生成带有徽标的二维码。

:path=/static-assets/barcode/content-code-examples/how-to/customize-qr-code-style-logo.cs
using IronBarCode;
using IronSoftware.Drawing;

AnyBitmap qrlogo = AnyBitmap.FromFile("ironbarcode_top.webp");

QRCodeLogo logo = new QRCodeLogo(qrlogo, 0, 0, 20f);

GeneratedBarcode QrCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250);

QrCodeWithLogo.SaveAsPng("QrCodeWLogo2.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Private qrlogo As AnyBitmap = AnyBitmap.FromFile("ironbarcode_top.webp")

Private logo As New QRCodeLogo(qrlogo, 0, 0, 20F)

Private QrCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250)

QrCodeWithLogo.SaveAsPng("QrCodeWLogo2.png")
$vbLabelText   $csharpLabel
class="content-img-align-center">
QR Code With Logo

让我们检查上面代码生成的输出二维码。 我们可以看到二维码中间有一个带圆角的徽标。

要自定义徽标,需要在创建新的QRCodeLogo对象时填写某些字段。 这是所需字段的说明:

  • 导入图像:您可以通过多种方式导入图像,如从AnyBitmapStream字节数组、相对文件路径URI
  • 图像尺寸:指定徽标图像所需的宽度和高度,以像素为单位。 如果图像对于二维码可读性过大,将抛出异常。 使用值 0 自动确定最大的可行尺寸。
  • 图像角落:设置徽标图像圆角的半径。 使用默认值 0 表示直角。

最后,要导出生成的二维码,只需调用保存方法即可。 您有多种导出选项,包括图像文件、流、HTML 和 PDF。

改变二维码颜色示例

除了为您的二维码添加徽标外,IronBarcode 还使用户能够通过更改单色来进一步自定义二维码。 使用我们的 IronDrawing 库,用户可以使用 RGB 值或十六进制颜色代码轻松定义自己的颜色,并将其应用于二维码。 让我们看看演示此功能的代码片段以及运行此代码获得的最终二维码。

:path=/static-assets/barcode/content-code-examples/how-to/customize-qr-code-style-logo-color.cs
using IronBarCode;
using IronSoftware.Drawing;

AnyBitmap qrlogo = AnyBitmap.FromFile("ironbarcode_top.webp");

QRCodeLogo logo = new QRCodeLogo(qrlogo, 0, 0, 20f);

IronSoftware.Drawing.Color ColorFromRgb = new IronSoftware.Drawing.Color(51, 51, 153);

GeneratedBarcode QrCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250);
GeneratedBarcode QrCodeWithLogoAndColor = QrCodeWithLogo.ChangeBarCodeColor(ColorFromRgb);
QrCodeWithLogoAndColor.SaveAsPng("ColorQrCodeWithLogo.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Private qrlogo As AnyBitmap = AnyBitmap.FromFile("ironbarcode_top.webp")

Private logo As New QRCodeLogo(qrlogo, 0, 0, 20F)

Private ColorFromRgb As New IronSoftware.Drawing.Color(51, 51, 153)

Private QrCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250)
Private QrCodeWithLogoAndColor As GeneratedBarcode = QrCodeWithLogo.ChangeBarCodeColor(ColorFromRgb)
QrCodeWithLogoAndColor.SaveAsPng("ColorQrCodeWithLogo.png")
$vbLabelText   $csharpLabel
class="content-img-align-center">
QR Code With Custom Logo and Color

上面的代码片段扩展了创建带有徽标的二维码的先前示例。 它演示了如何使用ChangeBarCodeColor 方法更改二维码颜色,该方法接受一个 IronSoftware.Drawing.Color 对象作为输入。 您可以使用RGB值、十六进制代码或预定义的枚举创建该对象。 访问我们的"Create Color"代码示例以了解更多信息。

添加二维码注解示例

自定义或样式化二维码的另一个重要方面是在二维码图像中添加注释。 这些注释可以是条形码值本身或用于推广或营销目的的自定义文本。

现在,让我们检查这些方法的实现以及下面代码片段生成的最终二维码图像。

:path=/static-assets/barcode/content-code-examples/how-to/customize-qr-code-style-logo-color-annotation.cs
using IronBarCode;
using IronSoftware.Drawing;

AnyBitmap qrlogo = AnyBitmap.FromFile("ironbarcode_top.webp");

QRCodeLogo logo = new QRCodeLogo(qrlogo, 0, 0, 20f);

Color colorForBarcode = new Color(51, 51, 153); // color from RGB
Color annotationAboveBarcodeColor = new Color("#176feb");  // color from Hex
Font annotationAboveBarcodeFont = new Font("Candara", FontStyle.Bold, 15);
Color barcodeValueBelowBarcodeColor = new Color("#6e53bb");
Font barcodeValueBelowBarcodeFont = new Font("Cambria", FontStyle.Regular, 15);

GeneratedBarcode qrCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250);
GeneratedBarcode qrCodeWithLogoAndColor = qrCodeWithLogo.ChangeBarCodeColor(colorForBarcode);
GeneratedBarcode qrCodeWithAnnotation = qrCodeWithLogoAndColor.AddAnnotationTextAboveBarcode("IronBarcodeRocks!", annotationAboveBarcodeFont, annotationAboveBarcodeColor, 2).AddBarcodeValueTextBelowBarcode(barcodeValueBelowBarcodeFont, barcodeValueBelowBarcodeColor, 2);
qrCodeWithAnnotation.SaveAsPng("QRCodeWithAnnotation.png");
Imports IronBarCode
Imports IronSoftware.Drawing

Private qrlogo As AnyBitmap = AnyBitmap.FromFile("ironbarcode_top.webp")

Private logo As New QRCodeLogo(qrlogo, 0, 0, 20F)

Private colorForBarcode As New Color(51, 51, 153) ' color from RGB
Private annotationAboveBarcodeColor As New Color("#176feb") ' color from Hex
Private annotationAboveBarcodeFont As New Font("Candara", FontStyle.Bold, 15)
Private barcodeValueBelowBarcodeColor As New Color("#6e53bb")
Private barcodeValueBelowBarcodeFont As New Font("Cambria", FontStyle.Regular, 15)

Private qrCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", logo, 250)
Private qrCodeWithLogoAndColor As GeneratedBarcode = qrCodeWithLogo.ChangeBarCodeColor(colorForBarcode)
Private qrCodeWithAnnotation As GeneratedBarcode = qrCodeWithLogoAndColor.AddAnnotationTextAboveBarcode("IronBarcodeRocks!", annotationAboveBarcodeFont, annotationAboveBarcodeColor, 2).AddBarcodeValueTextBelowBarcode(barcodeValueBelowBarcodeFont, barcodeValueBelowBarcodeColor, 2)
qrCodeWithAnnotation.SaveAsPng("QRCodeWithAnnotation.png")
$vbLabelText   $csharpLabel
class="content-img-align-center">
QR Code With Annotation

IronBarcode 提供了设置注释的位置(在二维码上方或下方)及其字体系列和颜色的方法。 以下是可用的方法:

  • AddAnnotationTextAboveBarcode:在二维码上方添加注释文本。
  • AddAnnotationTextBelowBarcode:在二维码下方添加注释文本。
  • AddBarcodeValueTextAboveBarcode:在二维码上方添加条形码值文本。
  • AddBarcodeValueTextBelowBarcode:在二维码下方添加条形码值文本。

自定义注释和条形码值

上述所有四种方法均接受自定义字体作为 IronSoftware.Drawing.Font 对象,颜色作为 IronSoftware.Drawing.Color 对象,和一个用于指定文本上方和下方间距的整数(以像素为单位)。 请注意,这些参数是可选的; 如果未指定,将使用默认字体、颜色和间距。

简而言之,IronBarcode 是创建和自定义二维码的理想工具。 除了用于自定义的直接方法外,IronBarcode 还使用我们自己的 IronDrawing 作为用于图像处理的助手库,其稳定性被认为高于依赖于其他外部库。

常见问题解答

如何在 .NET 中创建带徽标的自定义 QR 代码?

您可以使用 IronBarcode 库的 CreateQrCodeWithLogo 方法在 .NET 中创建带徽标的自定义 QR 代码。这允许您在 QR 代码中嵌入徽标,并可以自定义尺寸和角样式以达到更好的美观效果。

自定义 QR 代码颜色涉及哪些步骤?

要自定义 QR 代码的颜色,请使用 IronBarcode 的 ChangeBarCodeColor 方法。这允许您使用 RGB 值或十六进制颜色代码应用自定义颜色,提供丰富多彩的自定义选项。

如何向 QR 代码添加文字注释?

您可以使用 IronBarcode 的 AddAnnotationTextAboveBarcodeAddBarcodeValueTextBelowBarcode 方法向 QR 代码添加文字注释。这些方法允许您自定义文本的字体和颜色,以增强可读性和品牌形象。

确保 QR 代码可读性的最佳实践是什么?

为了确保 QR 代码的可读性,IronBarcode 提供了关于保持适当图像大小和角半径的指南。这有助于维护 QR 代码的完整性并确保其易于扫描。

如何导出我自定义的 QR 代码?

使用 IronBarcode 创建的自定义 QR 代码可以通过库中提供的各种保存方法以多种格式导出,包括图像文件、PDF、流和 HTML。

IronDrawing 库在 QR 代码自定义中扮演什么角色?

IronDrawing 库对于处理 IronBarcode 中的图像处理任务至关重要,允许进行 QR 代码自定义,如颜色更改和徽标集成。

使用自定义样式的 QR 代码有什么好处?

使用 IronBarcode 创建的自定义样式 QR 代码提供更高的视觉吸引力和品牌一致性。通过整合徽标和特定的颜色方案,这提高了用户参与度和营销效果。

为什么 IronBarcode 被认为在 QR 代码生成方面高效?

IronBarcode 在 QR 代码生成方面高效,因为它具有全面的功能,如徽标嵌入、颜色定制和注解添加,同时保持高可读性和美学标准。

Hairil Hasyimi Bin Omar
软件工程师
如所有伟大的工程师一般,Hairil 是个热心的学习者。他正在提高对 C#、Python 和 Java 的知识,并利用这些知识为 Iron Software 团队成员增值。Hairil 从马来西亚的玛拉工业大学加入 Iron Software 团队,获得化学与工艺工程学士学位。
准备开始了吗?
Nuget 下载 1,935,276 | 版本: 2025.11 刚刚发布