欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2015年12月30日 10:21:31   作者:polk6  
這篇文章主要介紹了基于C#生成條形碼操作知識匯總的相關資料,需要的朋友可以參考下

1. 介紹

1.1 條形碼

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

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(庫德巴碼)等。

國內(nèi)推行使用的是EAN商品條形碼,可分為EAN-13(標準版)和EAN-8(縮短版)兩種。

例圖:

2.2 生成一維碼

以生成EAN-13碼制為例:

// 1.設置條形碼規(guī)格
EncodingOptions encodeOption = new EncodingOptions();
encodeOption.Height = 130; // 必須制定高度、寬度
encodeOption.Width = 240; 
// 2.生成條形碼圖片并保存
ZXing.BarcodeWriter wr = new BarcodeWriter();
wr.Options = encodeOption;
wr.Format = BarcodeFormat.EAN_13; // 條形碼規(guī)格:EAN13規(guī)格:12(無校驗位)或13位數(shù)字
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.設置讀取條形碼規(guī)格
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("讀取成功,內(nèi)容:" + rs.Text);
} 

3. 二維碼操作

3.1 介紹

二維碼:在水平和垂直方向的二維空間存儲信息的條形碼。

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

例圖:

 

3.2 生成二維碼

以生成QR碼制為例:

// 1.設置QR二維碼的規(guī)格
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.設置讀取條形碼規(guī)格
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("讀取成功,內(nèi)容:" + rs.Text);
} 

3.4 生成帶Logo的二維碼

二維碼帶有校驗功能,故可以在中間區(qū)域展示一定尺寸的圖片。

例圖:

代碼:

// 1.設置QR二維碼的規(guī)格
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 下載地址

百度網(wǎng)盤:http://pan.baidu.com/s/1qWRJMAo

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

相關文章

  • C#/VB.NET創(chuàng)建PDF文檔的示例代碼

    C#/VB.NET創(chuàng)建PDF文檔的示例代碼

    通過代碼創(chuàng)建 PDF 文檔有許多好處,所以本文將為大家詳細介紹一下如何使用 Spire.PDF for .NET 在 C# 和 VB.NET 中從頭開始創(chuàng)建 PDF 文檔,需要的可以參考下
    2023-12-12
  • C#實現(xiàn)批量下載圖片到本地示例代碼

    C#實現(xiàn)批量下載圖片到本地示例代碼

    這篇文章主要給大家介紹了關于C#如何實現(xiàn)批量下載圖片到本地的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用c#具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-11-11
  • C#使用XML序列化操作菜單的方法

    C#使用XML序列化操作菜單的方法

    這篇文章主要介紹了C#使用XML序列化操作菜單的方法,是基于上一篇遞歸讀取XML菜單數(shù)據(jù)的改進方法,具有一定的參考借鑒價值,需要的朋友可以參考下
    2014-12-12
  • c#基于NVelocity實現(xiàn)代碼生成

    c#基于NVelocity實現(xiàn)代碼生成

    這篇文章主要介紹了c#基于NVelocity實現(xiàn)代碼生成的方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2021-01-01
  • 實例分享C#中Explicit和Implicit用法

    實例分享C#中Explicit和Implicit用法

    本篇文章主要給讀者們分享了C#中Explicit和Implicit的用法,對此有需求和興趣的朋友們一起學習下吧。
    2017-12-12
  • C#使用DateAndTime.DateDiff實現(xiàn)計算年齡

    C#使用DateAndTime.DateDiff實現(xiàn)計算年齡

    這篇文章主要為大家詳細介紹了C#如何使用DateAndTime.DateDiff實現(xiàn)根據(jù)生日計算年齡,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2024-01-01
  • 兩路歸并的數(shù)組與鏈表的實現(xiàn)方法

    兩路歸并的數(shù)組與鏈表的實現(xiàn)方法

    本篇文章對兩路歸并的數(shù)組與鏈表的實現(xiàn)方法進行了分析介紹。需要的朋友參考下
    2013-05-05
  • C#函數(shù)out多個返回值問題

    C#函數(shù)out多個返回值問題

    這篇文章主要介紹了C#函數(shù)out多個返回值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C#實現(xiàn)文本讀取的7種方式

    C#實現(xiàn)文本讀取的7種方式

    這篇文章主要介紹了C#實現(xiàn)文本讀取的7種方式,文本讀取在上位機開發(fā)中經(jīng)常會使用到,實現(xiàn)的方式也有很多種,下面我們就來分享七種方式,需要的小伙伴可以參考一下
    2022-05-05
  • C#使用Oracle.ManagedDataAccess.dll組件連接Oracle數(shù)據(jù)庫

    C#使用Oracle.ManagedDataAccess.dll組件連接Oracle數(shù)據(jù)庫

    這篇文章介紹了C#使用Oracle.ManagedDataAccess.dll組件連接Oracle數(shù)據(jù)庫的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05

最新評論