如何为 QR 代码定制和添加徽标
二维码因其更高的数据容量和扫描便利性而比传统条形码更受欢迎。 他们在市场营销中尤其受到重视,因为他们的可定制性,包括添加标志、更改颜色和整合其他品牌元素的选项。
为了满足这一需求,IronBarcode为定制QR码提供了一套功能。 用户可以创建带有logo的二维码,更改配色方案,并添加注释。 这些功能由此提供支持: IronDrawing是一个免费的开源库。
开始使用 IronBarcode
立即在您的项目中开始使用IronBarcode,并享受免费试用。
如何为 QR 代码定制和添加徽标
创建带有logo的QR码示例
生成二维码时需要一个QRCodeLogo对象来嵌入logo图片。 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")
让我们检查上述代码生成的输出二维码。 我们可以看到,二维码中央带有一个带圆角的logo。
要自定义徽标,您需要在创建新的 QRCodeLogo 对象时填写某些字段。 以下是所需字段的解释:
- 导入图像:您可以通过多种方式导入图像,例如通过 AnyBitmap、Stream、Byte Array、相对filepath或URI。
- 图像尺寸:以像素为单位指定logo图像的期望宽度和高度。 如果图像过大,无法读取QR码,将会抛出一个异常。 使用值0来自动确定最大可行尺寸。
图像角落:设置徽标图像圆角的半径。 使用默认值0表示方角。
更改QR码颜色示例
除了能够在您的二维码中添加logo之外,IronBarcode还允许用户通过更改其颜色来进一步自定义他们的二维码。 With our IronDrawing 在库中,用户可以使用 RGB 值或十六进制颜色代码轻松定义自己的颜色,并将它们应用到二维码上。 让我们看一下演示此功能的代码片段以及运行此代码后得到的结果 QR 码。
: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")
上面的代码片段扩展了之前关于创建带有logo的QR码的示例。 它演示了如何使用 ChangeBarCodeColor
方法来更改QR码颜色,该方法接受一个 IronSoftware.Drawing.Color 对象作为输入。 您可以使用 RGB 值、十六进制代码或预定义的枚举来创建此对象。 访问我们的 "创建颜色" 代码示例,了解更多信息。
添加QR码注释示例
自定义或设置 QR 码样式的另一个重要方面是在 QR 码图像中添加注释。 这些注释可以是条形码本身的值,也可以是用于促销或营销的自定义文本。
现在,让我们检查以下代码段中这些方法的实现以及所生成的二维码图像。
: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")
IronBarcode 提供设置注释位置的方法(二维码上方或下方)以及其字体系列和颜色。 以下是此功能的可用方法:
AddAnnotationTextAboveBarcode
:在二维码上方添加注释文字。AddAnnotationTextBelowBarcode
:在二维码下方添加注释文本。AddBarcodeValueTextAboveBarcode
:在二维码上方添加条形码值文本。AddBarcodeValueTextBelowBarcode
:在二维码下方添加条码值文本。
自定义注释和条形码值
上述四种方法都接受自定义字体作为IronSoftware.Drawing.Font对象,颜色作为IronSoftware.Drawing.Color对象,以及一个整数来指定文本的顶部和底部间距的像素数。 请注意,这些参数是可选的; 如果未指定,默认将使用默认字体、颜色和间距。
简而言之,IronBarcode 是创建和自定义 QR 码的理想工具。 除了用于定制的直接方法之外,IronBarcode还使用了我们自己的IronDrawing作为辅助库,用于处理与图像相关的任何内容,这被认为比依赖其他外部库更稳定。