首页 > Web开发 > 详细

二维码生成 - QrCodeNet

时间:2014-02-12 19:07:58      阅读:511      评论:0      收藏:0      [点我收藏+]

载QrCodeNet

bubuko.com,布布扣
 1 /// <summary>
 2         /// 生成QR码
 3         /// </summary>
 4         /// <param name="output_path">输出路径</param>
 5         /// <param name="text">写入文本</param>
 6         /// <param name="scale">缩放比例</param>
 7         public static void GetQRCode(String output_path, String text, Int32 scale)
 8         {
 9             QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.L);
10             QrCode qrCode = new QrCode();
11             qrEncoder.TryEncode(text, out qrCode);
12 
13             Bitmap img = new Bitmap(qrCode.Matrix.Width * scale, qrCode.Matrix.Height * scale);
14             img.SetResolution(180f, 180f);
15             Graphics gdiobj = Graphics.FromImage(img);
16             gdiobj.CompositingQuality = CompositingQuality.HighQuality;
17             gdiobj.SmoothingMode = SmoothingMode.HighQuality;
18             gdiobj.InterpolationMode = InterpolationMode.HighQualityBicubic;
19             gdiobj.PixelOffsetMode = PixelOffsetMode.HighQuality;
20 
21             for (Int32 i = 0; i < qrCode.Matrix.Height; i++)
22             {
23                 for (Int32 j = 0; j < qrCode.Matrix.Width; j++)
24                 {
25                     if (qrCode.Matrix.InternalArray[i, j])
26                     {
27                         gdiobj.FillRectangle(new SolidBrush(Color.Black), i * scale, j * scale, scale, scale);
28                     }
29                 }
30             }
31 
32             System.Drawing.Imaging.EncoderParameters ep = new System.Drawing.Imaging.EncoderParameters(1);
33             ep.Param[0] = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 800L);
34 
35             System.Drawing.Imaging.ImageCodecInfo ici = GetEncoder(ImageFormat.Png);
36 
37             if (ici != null)
38             {
39                 img.Save(output_path, ici, ep);
40             }
41             else
42             {
43                 img.Save(output_path, ImageFormat.Png);
44             }
45             img.Dispose();
46             gdiobj.Dispose();
47         }
View Code

 比例的缩放没写好

二维码生成 - QrCodeNet

原文:http://www.cnblogs.com/chen-yu/p/3545581.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!