/// <summary> /// Returns a barcode image /// </summary> /// <param name="context"></param> public void ProcessRequest(System.Web.HttpContext context) { RequestSettings s = new RequestSettings(); s.Parse(context.Request.QueryString); Stream img = _Generator.GetBarcode(s); context.Response.ContentType = s.ContentType; const int chunk = 1024; byte[] buffer = new byte[chunk]; int read = img.Read(buffer, 0, chunk); while (read == chunk) { context.Response.OutputStream.Write(buffer, 0, chunk); read = img.Read(buffer, 0, chunk); } context.Response.OutputStream.Write(buffer, 0, read); }
public System.IO.Stream GetBarcode(RequestSettings settings) { BarcodeBase b = GetBarcode(settings.BarcodeFormat); if (!b.IsValidData(settings.Data)) throw new ArgumentException("The data is not valid for the requested barcode"); BarcodeSettings bs = b.DefaultSettings.Copy(); bs.Size = settings.Size; bs.Scale = settings.Scale; bs.LeftMargin = settings.LeftMargin; bs.TopMargin = settings.TopMargin; bs.RightMargin = settings.RightMargin; bs.BottomMargin = settings.BottomMargin; System.Drawing.Bitmap result = b.Generate(settings.Data, bs); System.IO.MemoryStream resultstrm = new System.IO.MemoryStream(); result.Save(resultstrm, settings.Format); return resultstrm; }