Как визуализировать текст фиксированной ширины на изображение с помощью C#?
Я пытаюсь преобразовать текстовый файл в изображение, используя определенный шрифт (Courier New). У меня проблема в том, что шрифт имеет фиксированную ширину, но текст не отображается таким образом на изображении. Вот код, который я сейчас использую
var fontName = textToImageSection.GetString("FontName", "Courier New");
var fontSize = textToImageSection.GetInt("FontSize", 12);
textFont = new Font(fontName, fontSize);
var sf = new StringFormat(StringFormatFlags.MeasureTrailingSpaces);
sf.Trimming = StringTrimming.Character;
var text = File.ReadAllText(textFile.Path);
var image = new Bitmap(1, 1);
var textSize = new Size();
using (var g = Graphics.FromImage(image))
textSize = g.MeasureString(text, textFont, int.MaxValue, sf).ToSize();
image = new Bitmap(image, textSize);
using (var g = Graphics.FromImage(image))
{
g.Clear(Color.White);
//g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
g.DrawString(text, textFont, Brushes.Black, borderLeft, borderTop, sf);
}
image.SaveAsTiff(path);
Я пробовал разные значения для TextRenderingHint
без особой удачи и переспать с StringFormat
,
Вот итоговое изображение
Вот текст в Notepad++, отображаемый с новым шрифтом Courier