当前位置:   article > 正文

C# 使用ZXing.Net生成二维码和条码_c# zxing

c# zxing

写在前面

条码生成是一个经常需要处理的功能,本文介绍一个条码处理类库,ZXing用Java实现的多种格式的一维二维条码图像处理库,而ZXing.Net是其.Net版本的实现。

在WinForm下使用该类库需要从NuGet安装两个组件:

ZXing.Net

ZXing.Net.Bindings.Windows.Compatibility

代码实现

  1. using ZXing;
  2. using ZXing.Common;
  3. using ZXing.OneD;
  4. using ZXing.QrCode;
  5. using ZXing.Windows.Compatibility;
  6. namespace QrCodeGen
  7. {
  8. public partial class Form1 : Form
  9. {
  10. public Form1()
  11. {
  12. InitializeComponent();
  13. }
  14. private void button1_Click(object sender, EventArgs e)
  15. {
  16. var writer = new BarcodeWriter<Bitmap>();
  17. writer.Format = BarcodeFormat.QR_CODE;
  18. QrCodeEncodingOptions options = new QrCodeEncodingOptions()
  19. {
  20. DisableECI = true, //设置内容编码
  21. CharacterSet = "UTF-8", //设置二维码的宽度和高度
  22. Width = 200,
  23. Height = 200,
  24. Margin = 1 //设置二维码的边距,单位不是固定像素
  25. };
  26. var render = new AlternateBitmapRenderer();
  27. writer.Renderer = render;
  28. writer.Options = options;
  29. Bitmap map = writer.Write("Hello world");
  30. pictureBox1.Image = map;
  31. }
  32. private void button2_Click(object sender, EventArgs e)
  33. {
  34. var w = new EAN13Writer();
  35. var render = new AlternateBitmapRenderer();
  36. render.TextFont = new Font("Segoe UI", 25);
  37. var content = "1234567890123";
  38. // EAN-13 商品条码的标准尺寸是 37.29mm x 26.26 mm ,按照 300 DPI 换算像素大小是 440 x 310
  39. var m = w.encode(content, BarcodeFormat.EAN_13, 440, 310);
  40. //渲染得到的图片
  41. var bmp = render.Render(m, BarcodeFormat.EAN_13, content, new EncodingOptions { Width = 440, Height = 310 });
  42. pictureBox2.Image = bmp;
  43. }
  44. }
  45. }

 EAN-13商品条码是表示EAN/UCC-13商品标识代码的条码符号,由左侧空白区、起始符、左侧数据符、中间分隔符、右侧数据符、校验符、终止符、右侧空白区及供人识别字符组成。

调用示例

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/715893
推荐阅读
相关标签
  

闽ICP备14008679号