Размытый текст при генерации и печати идентификационной карты - PullRequest
2 голосов
/ 06 апреля 2011

Я генерирую удостоверения личности через .NET, и у меня возникла проблема, когда вставляемый мной динамический текст выглядит настолько размытым, что мне приходится использовать жирный шрифт, чтобы его с неохотой приняли.

Что я сейчас делаю:

  1. Захватите изображение "рамка".
  2. Возьмите фотографию сотрудника.
  3. Объедините их.
  4. Создание нового растрового изображения из сгенерированного изображения.
  5. Добавьте два набора текста поверх растрового изображения (цвет FontBrush установлен на черный).
  6. Сохраните изображение в PNG и получите максимально возможное качество.

Есть ли что-то, что нужно сделать при создании изображения, чтобы улучшить печать на удостоверениях личности из ПВХ?

    public TextOnImage AddText(string message, Font font, PointF point)
    {
        using (Graphics g = Graphics.FromImage(Image))
        {
            g.CompositingQuality = CompositingQuality.HighQuality;
            g.SmoothingMode = SmoothingMode.HighQuality;
            g.InterpolationMode = InterpolationMode.HighQualityBicubic;
            //g.TextContrast = 0;
            //g.TextRenderingHint = TextRenderingHint.AntiAlias; <-- Still didn't work
            g.DrawString(message, font, Brush, point, StringFormat);
        }

        return this;
    }

Ответы [ 2 ]

5 голосов
/ 06 апреля 2011

Если вы используете GDI +, попробуйте отключить сглаживание, установив TextRenderingHint для графического объекта в другое значение: http://msdn.microsoft.com/en-us/library/ssazt6bs.aspx

0 голосов
/ 13 апреля 2011

Несмотря на то, что это помогло, я создал PDF, чтобы принтер мог непосредственно читать шрифт. Таким образом, принтер не пытается «рисовать» края шрифта, а просто печатает текст оптимизированным способом.

Дополнительная информация: Наложение текста на фон изображения и преобразование в PDF

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...