You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用BarcodeLib设置条码图片DPI?或用免费库生成指定DPI条码

解决BarcodeLib条码DPI设置及免费库替代方案

一、BarcodeLib设置DPI的方法

BarcodeLib本身没有直接设置DPI的API,但可以通过调整条码像素尺寸+修改图片DPI属性来实现适配:

  • 先根据目标打印机DPI计算条码像素尺寸:比如热敏打印机常用203DPI,若需要2英寸宽的条码,像素宽度=2×203=406像素。
  • 用BarcodeLib生成对应尺寸的条码,示例代码:
Barcode barcode = new Barcode();
barcode.IncludeLabel = true;
// 按计算出的像素值设置宽高
barcode.Width = 406;
barcode.Height = 100;
Image barcodeImage = barcode.Encode(TYPE.CODE128, "123456789");
  • 调整图片DPI元数据,让打印机识别正确比例:
using (MemoryStream ms = new MemoryStream())
{
    barcodeImage.Save(ms, ImageFormat.Png);
    ms.Position = 0;
    using (Bitmap bmp = new Bitmap(ms))
    {
        // 设置为打印机对应的DPI,比如203
        bmp.SetResolution(203, 203);
        bmp.Save("barcode_203dpi.png", ImageFormat.Png);
    }
}

注:BarcodeLib生成的图片默认DPI是96,修改后打印机就能按实际物理尺寸打印,避免拉伸或模糊。

二、免费库生成指定DPI条码的方案

推荐用ZXing.Net(开源免费,支持全条码格式),能直接控制尺寸和DPI:

1. 安装依赖

通过NuGet安装ZXing.Net包即可。

2. 生成指定DPI条码的代码示例

using ZXing;
using ZXing.Common;
using ZXing.Windows.Compatibility;

// 配置条码参数
EncodingOptions options = new EncodingOptions
{
    Width = 406, // 对应2英寸×203DPI的像素宽度
    Height = 100,
    Margin = 10,
    IncludeCheckDigit = true
};

BarcodeWriterPixelData writer = new BarcodeWriterPixelData
{
    Format = BarcodeFormat.CODE_128,
    Options = options
};

// 生成条码像素数据
PixelData pixelData = writer.Write("123456789");

// 转为Bitmap并设置DPI
using (Bitmap bitmap = new Bitmap(pixelData.Width, pixelData.Height))
using (Graphics g = Graphics.FromImage(bitmap))
{
    g.Clear(Color.White);
    using (Bitmap pixelBitmap = pixelData.ToBitmap())
    {
        g.DrawImage(pixelBitmap, 0, 0);
    }
    // 设置目标DPI值
    bitmap.SetResolution(203, 203);
    bitmap.Save("zxing_barcode_203dpi.png", ImageFormat.Png);
}

3. 注意事项

  • ZXing.Net通过直接定义像素尺寸(匹配目标DPI下的物理大小),再结合SetResolution写入DPI元数据,确保打印效果精准。
  • 完全开源无版权限制,支持CODE128、QR Code等几乎所有主流条码格式。

内容的提问来源于stack exchange,提问作者Speeddigit Team

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:10:15