using BarcodeStandard; using SkiaSharp; using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; using System.Runtime.Remoting.Messaging; using System.Security.AccessControl; using System.Text; using System.Threading.Tasks; using static System.Net.Mime.MediaTypeNames; namespace EDOKA_Barcode { public class EDOKABC { public System.Drawing.Image getimg(string barcodetype ,string inhalt,Int32 with, Int32 height) { Barcode bc = new Barcode(); SkiaSharp.SKImage skimage = bc.Encode(SetType(barcodetype), inhalt, with, height); SKData stdata = skimage.Encode(); System.Drawing.Image img = System.Drawing.Image.FromStream(stdata.AsStream()); bc = null; skimage.Dispose(); return img; } public string ImgAsBase64(string barcodetype, string inhalt, Int32 with, Int32 height) { System.Drawing.Image timg = getimg(barcodetype, inhalt, with, height); using (MemoryStream m = new MemoryStream()) { timg.Save(m, timg.RawFormat); byte[] imageBytes = m.ToArray(); // Convert byte[] to Base64 String string base64String = Convert.ToBase64String(imageBytes); m.Dispose(); timg.Dispose(); return base64String; } } public BarcodeStandard.Type SetType(string type) { switch (type) { case "UPC-A": return BarcodeStandard.Type.UpcA; case "UPC-E": return BarcodeStandard.Type.UpcE; case "UPC 2 Digit Ext.": return BarcodeStandard.Type.UpcSupplemental2Digit; case "UPC 5 Digit Ext.": return BarcodeStandard.Type.UpcSupplemental5Digit; case "EAN-13": return BarcodeStandard.Type.Ean13; case "JAN-13": return BarcodeStandard.Type.Jan13; case "EAN-8": return BarcodeStandard.Type.Ean8; case "ITF-14": return BarcodeStandard.Type.Itf14; case "Codabar": return BarcodeStandard.Type.Codabar; case "PostNet": return BarcodeStandard.Type.PostNet; case "Bookland/ISBN": return BarcodeStandard.Type.Bookland; case "Code 11": return BarcodeStandard.Type.Code11; case "Code 39": return BarcodeStandard.Type.Code39; case "Code 39 Extended": return BarcodeStandard.Type.Code39Extended; case "Code 39 Mod 43": return BarcodeStandard.Type.Code39Mod43; case "Code 93": return BarcodeStandard.Type.Code93; case "LOGMARS": return BarcodeStandard.Type.Logmars; case "MSI Mod 10": return BarcodeStandard.Type.MsiMod10; case "MSI Mod 11": return BarcodeStandard.Type.MsiMod11; case "MSI 2 Mod 10": return BarcodeStandard.Type.Msi2Mod10; case "MSI Mod 11 Mod 10": return BarcodeStandard.Type.MsiMod11Mod10; case "Interleaved 2 of 5": return BarcodeStandard.Type.Industrial2Of5; case "Interleaved 2 of 5 Mod 10": return BarcodeStandard.Type.Interleaved2Of5Mod10; case "Standard 2 of 5": return BarcodeStandard.Type.Standard2Of5; case "Standard 2 of 5 Mod 10": return BarcodeStandard.Type.Standard2Of5Mod10; case "Code 128": return BarcodeStandard.Type.Code128; case "Code 128-A": return BarcodeStandard.Type.Code128A; case "Code 128-B": return BarcodeStandard.Type.Code128B; case "Code 128-C": return BarcodeStandard.Type.Code128C; case "Telepen": return BarcodeStandard.Type.Telepen; case "FIM": return BarcodeStandard.Type.Fim; case "Pharmacode": return BarcodeStandard.Type.Pharmacode; case "IATA2of5": return BarcodeStandard.Type.IATA2of5; default: return BarcodeStandard.Type.Unspecified; } } } }