private void DrawPageInfo(string pageInfo, PrintLabelSettings settings) { using (var g = Graphics.FromImage(bmIm)) { //g.SmoothingMode = SmoothingMode.HighQuality; g.TextRenderingHint = TextRenderingHint.SystemDefault; //g.InterpolationMode = InterpolationMode.HighQualityBicubic; //g.PixelOffsetMode = PixelOffsetMode.HighQuality; g.DrawString(pageInfo, new Font("Arial", settings.PageCounterFontSize, settings.PageCounterIsBold ? FontStyle.Bold : FontStyle.Regular), Brushes.Black, settings.PageCounterX, settings.PageCounterY); } }
private static void ProcessLabelItem(LabelItem labelItem, Graphics g, PrintLabelSettings settings) { switch (labelItem.LabelType) { case LabelTypesEnum.Label: g.DrawString(labelItem.LabelText, new Font(labelItem.FontName ?? "Arial", labelItem.FontSize, (labelItem.IsBold ? FontStyle.Bold : FontStyle.Regular) | (labelItem.IsItalic ? FontStyle.Italic : FontStyle.Regular)), Brushes.Black, labelItem.StartX, labelItem.StartY); break; case LabelTypesEnum.BarCode: var content = labelItem.LabelText; var writer = new BarcodeWriter { Format = BarcodeFormat.CODE_128, Options = new ZXing.QrCode.QrCodeEncodingOptions { ErrorCorrection = ZXing.QrCode.Internal.ErrorCorrectionLevel.H, Width = settings.BarCodeMaxWidth, Height = settings.BarCodeHeight, PureBarcode = true, } }; var barCodeBmp = writer.Write(content); g.DrawImageUnscaled(barCodeBmp, labelItem.StartX, labelItem.StartY); break; case LabelTypesEnum.Stamp: var pen = new Pen(Color.Black, 2); g.DrawEllipse(pen, labelItem.StartX, labelItem.StartY, settings.StampDiameter, settings.StampDiameter); g.DrawString(labelItem.LabelText, new Font(labelItem.FontName ?? "Arial", labelItem.FontSize, (labelItem.IsBold ? FontStyle.Bold : FontStyle.Regular) | (labelItem.IsItalic ? FontStyle.Italic : FontStyle.Regular)), Brushes.Black, labelItem.StartX + 2, labelItem.StartY + 11); break; } }