C# Gma.QrCodeNet產生二維碼

來源:互聯網
上載者:User

標籤:ring   ons   mode   ati   int   字元   fromfile   控制台   技術   

一.使用C#產生二維碼類庫之一是qrcodenet

原始碼地址:

http://qrcodenet.codeplex.com/

二.使用執行個體

定義處理字串

static string url = "http://blog.csdn.net/u011127019";

1.執行個體1

//產生二維碼static void Generate1(){    //建立二維碼產生類    QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);    QrCode qrCode = qrEncoder.Encode(url);    //輸出顯示在控制台    for (int j = 0; j < qrCode.Matrix.Height; j++)    {        for (int i = 0; i < qrCode.Matrix.Width; i++)        {            char charToPoint = qrCode.Matrix[i, j] ? ‘█‘ : ‘ ‘;            Console.Write(charToPoint);        }        Console.WriteLine();    }}

2.產生二維碼,儲存成圖片

//產生圖片static void Generate2(){    QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);    QrCode qrCode = qrEncoder.Encode(url);    //儲存成png檔案    string filename = @"H:\案頭\\url.png";    GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);    using (FileStream stream = new FileStream(filename, FileMode.Create))    {        render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream);    }}

3.支援中文

//產生中文二維碼static void Generate3(){    QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);    QrCode qrCode = qrEncoder.Encode("我是小天馬");    //儲存成png檔案    string filename = @"H:\案頭\\cn.png";    GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);    Bitmap map = new Bitmap(500, 500);    Graphics g = Graphics.FromImage(map);    g.FillRectangle(Brushes.Red, 0, 0, 500, 500);    render.Draw(g, qrCode.Matrix, new Point(20, 20));    map.Save(filename, ImageFormat.Png);}

4.調整二維碼大小

//設定二維碼大小static void Generate4(){    QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);    QrCode qrCode = qrEncoder.Encode("我是小天馬");    //儲存成png檔案    string filename = @"H:\案頭\\size.png";    //ModuleSize 設定圖片大小      //QuietZoneModules 設定周邊padding    /*        * 5----150*150    padding:5        * 10----300*300   padding:10        */    GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(10, QuietZoneModules.Two), Brushes.Black, Brushes.White);    Point padding = new Point(10, 10);    DrawingSize dSize = render.SizeCalculator.GetSize(qrCode.Matrix.Width);    Bitmap map = new Bitmap(dSize.CodeWidth + padding.X, dSize.CodeWidth + padding.Y);    Graphics g = Graphics.FromImage(map);    render.Draw(g, qrCode.Matrix, padding);    map.Save(filename, ImageFormat.Png);}

5.產生帶Logo的二維碼

//產生帶Logo的二維碼static void Generate5(){    QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);    QrCode qrCode = qrEncoder.Encode("我是小天馬");    //儲存成png檔案    string filename = @"H:\案頭\\logo.png";    GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White);    DrawingSize dSize = render.SizeCalculator.GetSize(qrCode.Matrix.Width);    Bitmap map = new Bitmap(dSize.CodeWidth, dSize.CodeWidth);    Graphics g = Graphics.FromImage(map);    render.Draw(g, qrCode.Matrix);    //追加Logo圖片 ,注意控制Logo圖片大小和二維碼大小的比例    Image img = Image.FromFile(@"F:\JavaScript_Solution\QrCode\QrCode\Images\101.jpg");    Point imgPoint = new Point((map.Width - img.Width) / 2, (map.Height - img.Height) / 2);    g.DrawImage(img, imgPoint.X, imgPoint.Y, img.Width, img.Height);    map.Save(filename, ImageFormat.Png);}

C# Gma.QrCodeNet產生二維碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.