基于C#生成条形码操作知识汇总附源码下载

2019-12-30 11:33:22于海丽

2.3 读取一维码

以读取EAN-13码制的图片为例:


// 1.设置读取条形码规格
DecodingOptions decodeOption = new DecodingOptions();
decodeOption.PossibleFormats = new List<BarcodeFormat>() { 
 BarcodeFormat.EAN_13,
};
// 2.进行读取操作
ZXing.BarcodeReader br = new BarcodeReader();
br.Options = decodeOption;
ZXing.Result rs = br.Decode(this.barCodeImg.Image as Bitmap);
if (rs == null)
{
 this.ContentTxt.Text = "读取失败";
 MessageBox.Show("读取失败");
}
else
{
 this.ContentTxt.Text = rs.Text;
 MessageBox.Show("读取成功,内容:" + rs.Text);
} 

3. 二维码操作

3.1 介绍

二维码:在水平和垂直方向的二维空间存储信息的条形码。

常用码制:PDF417、QR Code、Code 49、Code 16K、Code One等。

例图:

 基于C#生成条形码操作知识汇总附源码下载

3.2 生成二维码

以生成QR码制为例:


// 1.设置QR二维码的规格
ZXing.QrCode.QrCodeEncodingOptions qrEncodeOption = new ZXing.QrCode.QrCodeEncodingOptions();
qrEncodeOption.CharacterSet = "UTF-8"; // 设置编码格式,否则读取'中文'乱码
qrEncodeOption.Height = 200;
qrEncodeOption.Width = 200;
qrEncodeOption.Margin = 1; // 设置周围空白边距
// 2.生成条形码图片并保存
ZXing.BarcodeWriter wr = new BarcodeWriter();
wr.Format = BarcodeFormat.QR_CODE; // 二维码
wr.Options = qrEncodeOption;
Bitmap img = wr.Write(this.ContentTxt.Text);
string filePath = System.AppDomain.CurrentDomain.BaseDirectory + "QR-" + this.ContentTxt.Text + ".jpg";
img.Save(filePath, System.Drawing.Imaging.ImageFormat.Jpeg); 

3.3 读取二维码

以读取QR码制的图片为例:


// 1.设置读取条形码规格
DecodingOptions decodeOption = new DecodingOptions();
decodeOption.PossibleFormats = new List<BarcodeFormat>() { 
 BarcodeFormat.QR_CODE,
;
// 2.进行读取操作
ZXing.BarcodeReader br = new BarcodeReader();
br.Options = decodeOption;
ZXing.Result rs = br.Decode(this.barCodeImg.Image as Bitmap);
if (rs == null)
{
 this.ContentTxt.Text = "读取失败";
 MessageBox.Show("读取失败");
}
else
{
 this.ContentTxt.Text = rs.Text;
 MessageBox.Show("读取成功,内容:" + rs.Text);
}