当前位置:   article > 正文

Zxing一维条码/二维条码生成与读取开发实例_zxing生成条码如何设置显示字符串

zxing生成条码如何设置显示字符串

Zxing是一个免费的条码处理软件,可生成一维码、二维码并进行读取。注释中有功能介绍

1.下载Zxing的.Net类库,并引用zxing.dll,zxing.presentation.dll

  1. using ZXing;
  2. using ZXing.Common;
  3. using ZXing.QrCode;

2.生成一维码,并保存图片

  1. //定义变量
  2. private int cw=200;
  3. private int ch=200;
  4. //定义路径
  5. private string path=AppDomain.CurrentDomain.BaseDirectory+"\\";
  6. private void btnCreateCode_Click(object sender,EventArgs e)
  7. {
  8. //设置条码的规格
  9. EncodingOptions encoding=new EncodingOptions();
  10. encoding.Width=cw;
  11. encoding.Height=ch;
  12. //生成条码的图片并保存
  13. BarcodeWriter bw=new BarcodeWriter ();
  14. //指定规格
  15. bw.Options=encoding;
  16. bw.Format=BarcodeFormat.CODE_39;
  17. Bitmap btp=bw.Write(txtInfor.Text.Trim());
  18. //将图片转换为字符串数组
  19. MemoryStream ms=new MemoryStream();
  20. btp.Save(ms,ImageFormat.Bmp);
  21. ms.Seek(0,SeekOrigin.Begin);
  22. byte[] buffer=new byte[ms.Length];
  23. ms.Read(buffer,0,buffer.Length);
  24. ms.Dispose();
  25. using(FileStream fs=new FileStream(path+txtInfor.Text.Trim()+".bmp",FileMode.Create))
  26. {
  27. fs.Write(buffer,0,buffer.Length);
  28. }
  29. }

3.生成二维码并保存图片

  1. private void btnCreateCode2_Click(object sender,EventArgs e)
  2. {
  3. //1.先设置二维码的规格
  4. QrCodeEncodingOptions qr=new QrCodeEncodingOptions ();
  5. //设置编码格式否则会出现乱码
  6. qr.CharacterSet="UTF-8";
  7. qr.Width=cw;
  8. qr.Height=ch;
  9. //设置二维码图片周围空白边距
  10. qr.Margin=1;
  11. //2.生成二维码图片并进行保存
  12. BarcodeWriter bw=new BarcodeWriter ();
  13. //设置为二维码
  14. bw.Format=BarcodeFormat.QR_CODE;
  15. //指定格式
  16. bw.Options=qr;
  17. Bitmap bitmap=bw.Write(txtInfor.Text.Trim());
  18. //设置图片路径
  19. string file=path+txtInfor.Text.Trim()+".bmp";
  20. MemoryStream ms=new MemoryStream();
  21. bitmap.Save(ms,ImageFormat.Bmp);
  22. ms.Seek(0,SeekOrigin.Begin);
  23. byte[] buffer=new byte[ms.Length];
  24. ms.Read(buffer,0,buffer.Length);
  25. ms.Dispose();
  26. //保存图片
  27. using(FileStream fs=new FileStream(file,FileMode.Create))
  28. {
  29. fs.Write(buffer,0,buffer.Length);
  30. }
  31. }

4.读取一维码

  1. private void btnReadCode_Click(object sender,EventArgs e)
  2. {
  3. //1.设置读取条码的格式
  4. DecodingOptions decoding=new DecodingOptions ();
  5. //指定读取格式,这里的格式就是生成条码时设定的格式(两处一定要一致)
  6. decoding.PossibleFormats=new List<BarcodeFormat>(){BarcodeFormat.CODE_39};
  7. //2.进行读取操作
  8. BarcodeReader br=new BarcodeReader();
  9. //指定规格
  10. br.Options=decoding;
  11. Image img=null;
  12. using(FileStream fs=new FileStream(path+txtInfor.Text.Trim()+".bmp",FileMode.Open))
  13. {
  14. img=Image.FromStream(fs);
  15. }
  16. //读取条形码
  17. Result result=br.Decode(img as Bitmap);
  18. }

5.读取二维码

  1. private void btnReadCode2_Click(object sender,EventArgs e)
  2. {
  3. //1.设置读取二维吗规格
  4. DecodingOptions dr=new DecodingOptions();
  5. dr.PossibleFormats=new List<BarcodeFormat>()
  6. {
  7. //设置为二维码
  8. BarcodeFormat.QR_CODE
  9. };
  10. //2.进行读取操作
  11. BarcodeReader br=new BarcodeReader();
  12. //指定规格
  13. br.Options=dr;
  14. Image img=null;
  15. using(FileStream fs =new FileStream(path+txtInfor.Text.Trim()+".bmp",FileMode.Open))
  16. {
  17. img=Image.FromStream(fs);
  18. }
  19. Result rs=br.Decode(img as Bitmap);
  20. }

 

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

闽ICP备14008679号