TextRenderingHint.SingleBitPerPixel не удаляет сглаживание для штрих-кода - PullRequest
0 голосов
/ 30 января 2009

Я надеюсь, что кто-нибудь может помочь. TextRenderingHint.SingleBitPerPixel, по-видимому, не отключает сглаживание при печати штрих-кода из .net.

Вот фрагмент кода, который фактически отображает штрих-код:

    graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;

    graphics.DrawString(
        barCodeText,
        humanReadableFont,
        Brushes.Black,
        currentXPosition,
        currentYPosition,
        StringFormat.GenericTypographic);

Чтобы разрешить тщательный анализ выходных данных во время отладки, я печатаю в файл формата .tiff через принтер Microsoft Office Document Image Writer. При увеличении .tiff сглаживание хорошо видно в виде серого ореола вокруг черных полос штрих-кода.

Аналогичным образом, при печати на реальном принтере (билетном принтере BOCA в режиме эмуляции HP Laser Jet) штрих-код кровоточит / выглядит более жирным, чем ожидалось.

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

Я использую шрифты "Code 128AB" и "Code 128AB HR" от Elfring Fonts Inc.

спасибо

Joachim

1 Ответ

0 голосов
/ 25 февраля 2009

ОК, в итоге возникли две проблемы:

1) Производитель шрифта штрих-кода не разработал шрифт, который должен быть напечатан так же мелко, как я пытался напечатать. Я не эксперт по шрифтам, поэтому я верю их словам. Но я не совсем уверен, так как принтер, на котором я печатал, мог точно печатать штрих-коды меньшего размера, чем этот, используя режим «демо».

2) Эффект «ореола», который я видел, на самом деле был «Средством просмотра изображений и факсов» Windows, пытавшимся сделать меня привлекательным. Когда я пробовал разные программы, полосы были четкими и чистыми.

...