TextRenderingHint.SingleBitPerPixel ne supprime pas l'anticrénelage sur le code à barres

StackOverflow https://stackoverflow.com/questions/496243

  •  20-08-2019
  •  | 
  •  

Question

J'espère que quelqu'un pourra vous aider. TextRenderingHint.SingleBitPerPixel n’est apparemment pas en train de désactiver l’antialiasing lors de l’impression d’un code à barres à partir de .net.

Voici un extrait du code qui rend le code à barres:

    graphics.TextRenderingHint = TextRenderingHint.SingleBitPerPixel;

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

Pour permettre un examen minutieux de la sortie lors du débogage, j'imprime dans un fichier au format .tiff par le biais de & "; rédacteur de Microsoft Office Document Image &"; imprimante. Lorsque vous effectuez un zoom avant sur le fichier .tiff, l'antialiasing est clairement visible sous la forme d'un halo gris autour des barres de code-barres noires.

De même, lors de l’impression sur l’imprimante réelle (imprimante de ticket BOCA en mode d’émulation HP Laser Jet), le code à barres perd / apparaît plus gros que prévu.

Je sais que le code à barres est correct du point de vue de la syntaxe, car il scanne correctement lorsque la taille des points est plus grande. Je sais également que l’imprimante est capable d’imprimer des codes à barres lisibles au moins aussi petits que ce que je demande car, dans son mode «FGL» natif, elle imprime des codes à barres lisibles, même plus petits que le mien.

Les polices que j'utilise sont & "; Code 128AB &"; et " Code 128AB HR " par Elfring Fonts Inc.

merci

Joachim

Était-ce utile?

La solution

OK, ça a fini par créer deux problèmes:

1) Le fabricant de la police de code à barres n'a pas conçu la police à imprimer aussi petite que ce que j'essayais d'imprimer. Je ne suis pas un expert en polices de caractères, alors je crois leur parole. Mais je ne suis pas complètement convaincu, car l’imprimante sur laquelle j’imprimais les imprimantes pouvait imprimer avec précision des codes à barres plus petits que celui-ci en utilisant son mode "démo".

2) L'effet de halo que je voyais était en réalité Windows & "Visionneuse d'images et de télécopies &"; essayer de rendre les choses jolies pour moi. Lorsque j'ai essayé différents logiciels, les barres étaient claires et nettes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top