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