Как управлять интервалом между символами в GraphicsPath.AddString? - PullRequest
2 голосов
/ 15 июля 2011

Мне нужно изменить расстояние между символами при добавлении строки в GraphicsPath.Каков наилучший способ сделать это?

1 Ответ

0 голосов
/ 22 августа 2012

Вы можете нарисовать каждый символ индивидуально и настроить расстояние между персонажами, что-то вроде.

public void DrawText(string text, Point at, float distanceBetweenChars, FontFamily fontFamily, float fontSize, Graphics graphics)
{
    float currentX = at.X;
    for (int i = 0; i < text.Length; i++)
    {
        using (var path = new GraphicsPath())
        {
            path.AddString(text.Substring(i, 1), fontFamily, (int)FontStyle.Regular, fontSize,
                               new Point((int)currentX, at.Y),
                               StringFormat.GenericDefault);
                RectangleF bounds = path.GetBounds();
                currentX += bounds.Width + distanceBetweenChars;
                graphics.FillPath(new SolidBrush(Color.Black), path);
            }
        }
    }
}
...