程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 基於C#生成條形碼操作常識匯總附源碼下載

基於C#生成條形碼操作常識匯總附源碼下載

編輯:C#入門知識

基於C#生成條形碼操作常識匯總附源碼下載。本站提示廣大學習愛好者:(基於C#生成條形碼操作常識匯總附源碼下載)文章只能為提供參考,不一定能成為您想要的結果。以下是基於C#生成條形碼操作常識匯總附源碼下載正文


1. 引見

1.1 條形碼

條形碼(barcode):是將寬度不等的多個黑條和空白,依照必定的編碼規矩分列,用以表達一組信息的圖形標識符。

1.2 條形碼分類

可分為一維條形碼和二維條形碼:

一維條形碼:只是在一個偏向(普通是程度偏向)表達信息,而在垂直偏向則不表達任何信息。

二維條形碼:在程度和垂直偏向的二維空間存儲信息的條形碼。

1.3 第三方類庫:ZXing.Net

1.3.1 解釋

ZXing 是一個可生成和讀取 1D/2D(1維/2維) 條形碼的開源類庫。本來是Java版本,後由第三方衍生了支撐QT、C++、.Net等版本。

.Net版本支撐的平台:.Net 2.0, 3.5 and 4.0、Silverlight 4 and 5、Windows Phone 7.0, 7.1 and 8.0、Windows CE、Unity3D、Xamarin.Android 等等。

1.3.2 下載地址

Java 版本:https://github.com/zxing/zxing

ZXing.Net 版本:http://zxingnet.codeplex.com/

2. 一維碼操作

2.1 引見

一維條形碼:只是在一個偏向(普通是程度偏向)表達信息,而在垂直偏向則不表達任何信息。

經常使用碼制:EAN碼、39碼、穿插25碼、UPC碼、128碼、93碼,ISBN碼及Codabar(庫德巴碼)等。

國際履行應用的是EAN商品條形碼,可分為EAN-13(尺度版)和EAN-8(延長版)兩種。

例圖:

2.2 生成一維碼

以生成EAN-13碼制為例:

// 1.設置條形碼規格
EncodingOptions encodeOption = new EncodingOptions();
encodeOption.Height = 130; // 必需制訂高度、寬度
encodeOption.Width = 240; 
// 2.生成條形碼圖片並保留
ZXing.BarcodeWriter wr = new BarcodeWriter();
wr.Options = encodeOption;
wr.Format = BarcodeFormat.EAN_13; // 條形碼規格:EAN13規格:12(無校驗位)或13位數字
Bitmap img = wr.Write(this.ContentTxt.Text); // 生成圖片
string filePath = System.AppDomain.CurrentDomain.BaseDirectory + "\\EAN_13-" + this.ContentTxt.Text + ".jpg";
img.Save(filePath, System.Drawing.Imaging.ImageFormat.Jpeg); 

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等。

例圖:

 

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);
} 

3.4 生成帶Logo的二維碼

二維碼帶有校驗功效,故可以在中央區域展現必定尺寸的圖片。

例圖:

代碼:

// 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);
// 3.在二維碼的Bitmap對象上繪制logo圖片
Bitmap logoImg = Bitmap.FromFile(System.AppDomain.CurrentDomain.BaseDirectory + "\\logo.jpg") as Bitmap;
Graphics g = Graphics.FromImage(img);
Rectangle logoRec = new Rectangle(); // 設置logo圖片的年夜小和繪制地位
logoRec.Width = img.Width / 6;
logoRec.Height = img.Height / 6;
logoRec.X = img.Width / 2 - logoRec.Width / 2; // 中間點
logoRec.Y = img.Height / 2 - logoRec.Height / 2;
g.DrawImage(logoImg, logoRec);
// 4.保留繪制後的圖片
string filePath = System.AppDomain.CurrentDomain.BaseDirectory + "\\QR-" + this.ContentTxt.Text + ".jpg";
img.Save(filePath, System.Drawing.Imaging.ImageFormat.Jpeg); 

4. 源碼下載

4.1 運轉圖

 

4.2 下載地址

百度網盤:http://pan.百度.com/s/1qWRJMAo

CSDN:http://download.csdn.net/detail/polk6/9383226

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved