public Bitmap EncodeToImage(string str, QRCodeSaveSize saveSize) { QrCode qrCode = _qrEncoder.Encode(str); GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(Convert.ToInt32(saveSize), QuietZoneModules.Two), Brushes.Black, Brushes.White); MemoryStream ms = new MemoryStream(); render.WriteToStream(qrCode.Matrix, ImageFormat.Png, ms); Bitmap bitmap = new Bitmap(ms); return(bitmap); }
public void EncodeToPng(string str, string picpath, QRCodeSaveSize saveSize) { QrCode qrCode = _qrEncoder.Encode(str); //保存成png文件 GraphicsRenderer render = new GraphicsRenderer(new FixedModuleSize(Convert.ToInt32(saveSize), QuietZoneModules.Two), Brushes.Black, Brushes.White); using (FileStream stream = new FileStream(picpath, FileMode.OpenOrCreate)) //OpenOrCreate打开新文件默认就是truncate的了,如果再显式指定Truncate反而会报错当文件不存在的时候 { render.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); } //Bitmap bitmap = new Bitmap(165, 165); //Graphics g = Graphics.FromImage(bitmap); //render.Draw(g, qrCode.Matrix); //bitmap.Save("a.bmp"); }