using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using ZXing; using ZXing.QrCode; using System.Drawing.Imaging; using System.IO; using ZXing.Common; namespace QR_GEN { /// /// Utility per Code Generator online /// public class utils { /// /// Genera immagina barcode richeista secondo dimensioni e formato /// /// /// altezza /// formati 1D di ZXing /// indica se SOLO barcode /// public static ActionResult getImage(string dataStr, int hSize, BarcodeFormat formato, bool pureBarcode) { // se vuoto steamware... if (dataStr == null || dataStr == "") { dataStr = "www.steamware.net"; } dataStr = dataStr.ToUpper(); // url decode... dataStr = HttpUtility.UrlDecode(dataStr); // creo! EncodingOptions options = new EncodingOptions { Height = hSize, Margin = 0, PureBarcode = pureBarcode }; BarcodeWriter writer = new BarcodeWriter(); writer.Format = formato; writer.Options = options; // scrivo bitmap System.Drawing.Bitmap pixelData = writer.Write(dataStr); // Return Image MemoryStream ms = new MemoryStream(); pixelData.Save(ms, ImageFormat.Png); ms.Position = 0; return new FileStreamResult(ms, "image/png"); } /// /// Genera immagina barcode richeista secondo dimensioni e formato /// /// /// /// /// /// public static ActionResult getImage2D(ref string id, int hSize, int wSize, BarcodeFormat formato) { // se vuoto steamware... if (id == null || id == "") { id = "www.steamware.net"; } id = id.ToUpper(); // url decode... id = HttpUtility.UrlDecode(id); // creo! QrCodeEncodingOptions options = new QrCodeEncodingOptions { DisableECI = true, CharacterSet = "UTF-8", Width = wSize, Height = hSize, Margin = 0 }; BarcodeWriter writer = new BarcodeWriter(); writer.Format = formato; writer.Options = options; // scrivo bitmap System.Drawing.Bitmap pixelData = writer.Write(id); // Return Image MemoryStream ms = new MemoryStream(); pixelData.Save(ms, ImageFormat.Png); ms.Position = 0; return new FileStreamResult(ms, "image/png"); } } }