public static void SaveBarcode(string item, string fileName, string location) { var datamatrixEncodingOptions = new DatamatrixEncodingOptions { Height = 400, Width = 400, PureBarcode = true, Margin = 0, SymbolShape = SymbolShapeHint.FORCE_SQUARE }; var barcodeWriter = new BarcodeWriter { Format = BarcodeFormat.DATA_MATRIX, Options = datamatrixEncodingOptions }; Bitmap oldMap = barcodeWriter.Write(item); Bitmap newMap = ResizeCanvas(oldMap, oldMap.Width, oldMap.Height + 30, 0, 0); Graphics gfx = Graphics.FromImage(newMap); gfx.SmoothingMode = SmoothingMode.HighQuality; Font arialFont = new Font("Calibri Light", 10, FontStyle.Regular); gfx.DrawString(fileName, arialFont, Brushes.Black, new Point(0, oldMap.Height + 5)); try { newMap.Save(location); } catch { // ignored } }
public static void Demonstration() { // 箱码信息的base64位字符串 string base64Carton = string.Empty; //获取设定的二维码的尺寸信息(默认18) int QRCodeHeight = 70; int QRCodeWidth = 70; // 1.设置二维码规格 DatamatrixEncodingOptions encodeOption = new DatamatrixEncodingOptions { Height = QRCodeHeight, // 必须指定高度、宽度 Width = QRCodeWidth, PureBarcode = true, Margin = 1, }; // 2.生成二维码图片并保存 BarcodeWriter wr = new BarcodeWriter { Options = encodeOption, Format = BarcodeFormat.QR_CODE //二维码类型 }; var content = "111111111-20C1601"; using (Bitmap img = wr.Write(content)) { img.Save($"{DateTime.Now.ToString("yyyyMMddHHmmss")}.png", ImageFormat.Png); } }
public void TestEncodeDecode(String data, SymbolShapeHint shape) { var writer = new DataMatrixWriter(); var options = new DatamatrixEncodingOptions { SymbolShape = shape }; var matrix = writer.encode(data, BarcodeFormat.DATA_MATRIX, 0, 0, options.Hints); Assert.That(matrix, Is.Not.Null); var res = new Internal.Decoder().decode(matrix); Assert.That(res, Is.Not.Null); Assert.That(res.Text, Is.EqualTo(data)); }