| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разработка Windows Forms > Вертикальное рисование текста GDI+ |
| Автор: Kolovorot 23.11.2010, 11:15 |
| Как нарисовать вертикальный текст? |
| Автор: de_Nis 23.11.2010, 16:28 |
| М. б. это: private void button2_Click(object sender, EventArgs e) { Graphics g = CreateGraphics(); SolidBrush solBrush = new SolidBrush(Color.Gray); Font f = new Font("Tahoma", 26, FontStyle.Bold); // Разворачиваем текст на 30 градусов g.RotateTransform (30); g.DrawString("Тра-та-та", f, solBrush, 40, 10); g.Dispose(); } |
| Автор: Kolovorot 24.11.2010, 09:49 | ||
Это. Только нужно сделать упор на то, что RotateTransoform(270) поворачивает систему координат на 270 градусов. Соответственно придётся использовать ещё метод g.TranslateTransform(val). А так уже сам разобрался. |
| Автор: de_Nis 1.12.2010, 22:55 | ||
Для рисования текста под углом надо применить нужное преобразование к системе координат, нарисовать то, что нам надо, и потом восстановить старую систему координат:
Для удобства вынесли код для рисования под углом в отдельный метод. Смысл кода должен быть понятен из комментариев. Обратите внимание, что угол указываем в градусах. Разумеется, указанный прием можно использовать не только для вывода текста под углом, но и рисунков и т. п. (см. http://sharpes.ru/static/kak_narisovat_tekst_pod_uglom.html) |