c# 生成下部带文字的二维码
话不多说,直接上代码
public class QrCodeUtil { /*qrcode 使用方法 1.引用【右击】->管理NuGet程序包->搜索‘qrcode’ ->安装 QrCode.net 2.引入下列命名空间 using Gma.QrCodeNet.Encoding; using Gma.QrCodeNet.Encoding.Windows.Render; using System.Drawing.Imaging; using System.IO; using System.Drawing; */ //目前只支持英文 content-需生成二位的字符串 fileName-文件绝对位置及文件名(png文件) public static void createQrCode(String content, String fileName) { QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); QrCode qrCode = qrEncoder.Encode(content); GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(20, QuietZoneModules.Two), Brushes.Black, Brushes.White); using (FileStream stream = new FileStream(fileName, FileMode.Create)) { render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); stream.Close(); } addText(content, fileName); } private static void addText(String name, String fileName) { Font font = new Font("GB2312", 14, FontStyle.Regular);//设置字体,大小,粗细 SolidBrush sbrush = new SolidBrush(Color.Black);//设置颜色 try { Bitmap im = new Bitmap(fileName); Bitmap bmp = new Bitmap(300, 340); //定义图片大小 Graphics g = Graphics.FromImage(bmp); g.Clear(Color.White); g.DrawString(name, font, sbrush, new PointF((Int32)(bmp.Width - name.Length * 10.8) / 2, bmp.Height - 40)); // 合并位图 g.DrawImage(im, new Rectangle(0, 0, 300, 300)); im.Dispose(); bmp.Save(fileName, ImageFormat.Png); g.Dispose(); bmp.Dispose(); } catch { } } }
涉及到的内容如下:
1.文件系统,输入输出。
2.合并图片,Draw。
因刚刚使用c#编程不久,欢迎各位同行指正交流。参考相关文章较多,不在此一 一列举。