J'essaie d'utiliser GDI
en C#
pour dessiner Code 128
code à barres. J'ai la police .ttf
qui devrait fonctionner comme vecteur graphique (non RASTR):GDI dessiner le code à barres texte
var bmp = new Bitmap(900, 100);
var g = Graphics.FromImage(bmp);
g.Clear(Color.White);
g.SmoothingMode = SmoothingMode.None;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
g.DrawString(value, new Font("Code 128", 72), Brushes.Black, 0, 50);
g.DrawPath(new Pen(Brushes.Black, (float) 1.0), new GraphicsPath());
g.Flush();
l'image résultat est large, je veux mettre à l'échelle à 0,5 (axe x seulement). Mais lorsque je redimensionne X à 450, l'image n'est pas claire. J'ai remarqué que l'image (quand il reste 900) est floue légèrement:
Je pense que mon broblem sera résolu si l'image ressemblera ici:
Comment dessiner la chaîne de telle manière ?
Désactivez également InterpolationMode! Les résultats doivent correspondre au pixel le plus proche. – TaW
Merci @taw j'ai essayé, mais le résultat est le même – burzhuy
Ceux-ci ont travaillé pour moi: 'e.Graphics.SmoothingMode = SmoothingMode.None; e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor; ' – TaW