您的位置:首页 > 编程学习 > ASP.NET > 正文

.NET中生成带Logo的二维码

更多 时间:2015-12-30 类别:编程学习 浏览量:400

.NET中生成带Logo的二维码

.NET中生成带Logo的二维码

使用第三方类库:ZXing.Net 实现带Logo的二维码

 

1、说明

ZXing 是一个可生成和读取 1D/2D(1维/2维) 条形码的开源类库。原先是Java版本,后由第三方衍生了支持QT、C++、.Net等版本。

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

 

2、下载地址

http://zxingnet.codeplex.com/

 

3、实现带Logo的二维码的实例 (引用下载的dll

 

  •  
  • C# 代码   复制
  • 
    
    // 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);
    
    		
  •  

    标签:二维码