二维码生成与解码
有三种方式:
实例源码:
protected void Page_Load(object sender, EventArgs e) { DateTime dtBegin = DateTime.Now; string fileName = AppDomain.CurrentDomain.BaseDirectory + "bin\" + Guid.NewGuid().ToString() + ".jpg"; string content = HttpUtility.UrlDecode(this.Request["content"]); BarcodeWriter writer = new BarcodeWriter() { Format = BarcodeFormat.QR_CODE, Options = new EncodingOptions() { Width = 300, Height = 400 }, Renderer = (IBarcodeRenderer<Bitmap>)Activator.CreateInstance(typeof(BitmapRenderer)) }; Bitmap bmp = writer.Write(content); bmp.Save(fileName); this.Response.WriteFile(fileName); string time = (DateTime.Now - dtBegin).TotalMilliseconds.ToString(); }
实例源码:
protected void Page_Load(object sender, EventArgs e) { DateTime dtBegin = DateTime.Now; string fileName = AppDomain.CurrentDomain.BaseDirectory + "bin\" + Guid.NewGuid().ToString() + ".jpg"; string content = HttpUtility.UrlDecode(Request.QueryString["content"]); QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M); QrCode qrCode = qrEncoder.Encode(content); GraphicsRenderer renderer = new GraphicsRenderer(new FixedModuleSize(5, QuietZoneModules.Two), Brushes.Black, Brushes.White); using (FileStream stream = new FileStream(fileName, FileMode.Create)) { renderer.WriteToStream(qrCode.Matrix, ImageFormat.Png, stream); } this.Response.WriteFile(fileName); string spendTime = (DateTime.Now - dtBegin).TotalMilliseconds.ToString(); }