話不多說,直接上代碼
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#編程不久,歡迎各位同行指正交流。參考相關文章較多,不在此一 一列舉。
