Казалось бы, все просто. Пытаюсь нарисовать текст на графиксе и вывести на форму. Код рисования текста такой:
| Код | public class Text { ...
public Bitmap GetBitmap() { Font font = new Font("Courier New", 9, FontStyle.Regular); Bitmap text = new Bitmap((int) font.Size * _text.Length, 25); Graphics gp = Graphics.FromImage(text); gp.DrawString(_text, font, Brushes.Black, 0, text.Height / 2 - font.Size); return text; } }
|
Ну и, соответственно, вывод на форму:
| Код | Graphics gp = pbox.CreateGraphics(); gp.DrawImage(new Text("12345").GetBitmap(), 0, 0);
|
В результате получаю вот это:
 Я знаю, что я рисую текст как-то неправильно. Задача такова: создать прямоугольный битмап размером четко таким, чтобы туда вписался текст заданного размера и шрифта, а также, разумеется, заданного содержания. Я не могу понять, как просчитать размер битмапа. То, как он просчитывается сейчас - это топорно, грубо и вообще ни в какие рамки не лезет (чего стоит одно упоминание высоты 25, необязательно она такая, может быть и другой). Плюс, как видно на картинке, цифры почему-то как будто объедены по бокам, неровные и некрасивые. Почему так? Мне нужен нормальный четкий текст. |