Я пытаюсь использовать GDI
в C#
, чтобы нарисовать Code 128
штрих-код. У меня есть .ttf
шрифта, который должен работать в качестве векторной графики (не Растр):GDI draw штрих-код
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();
результат изображения широко, я хочу, чтобы масштабировать его до 0,5 (только оси х). Но когда я масштабирую X до 450, - изображение становится неясным. Я заметил, что изображение (если оно еще 900) слегка размыто:
я думаю, что мой broblem будет решен, если изображение будет выглядеть как здесь:
Как нарисовать строку таким образом, ?
Switch InterpolationMode выключен также! Результаты должны соответствовать ближайшему пикселю. – TaW
Спасибо @taw я попытался, но результат тот же – burzhuy
Они работали на меня: 'e.Graphics.SmoothingMode = SmoothingMode.None; e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit; e.Graphics.InterpolationMode = InterpolationMode.NearestNeighbor; ' – TaW