Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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;
        }