Рисование вертикального текста в WPF с помощью DrawingContext.То drawtext()
Я делаю некоторый пользовательский рисунок, используя DrawingContext в WPF. Я использую DrawingContext.DrawText
для рисования строки. Теперь, в месте, где я хочу нарисовать текст вертикально. Есть ли опция в функции DrawingContext или DrawText() для рисования текста по вертикали?
3 ответов
вам придется использовать PushTransform
и Pop
способы DrawingContext
класса.
DrawingContext dc; // Initialize this correct value
RotateTransform RT = new RotateTransform();
RT.Angle = 90
dc.PushTransform(RT)
dc.DrawText(...);
dc.Pop();
DrawingContext dc;
Point textLocation
var RT = new RotationTransform(-90.0);
// You should transform the location likewise...
location = new Point(-location.Y, location.X);
dc.PushTransform(RT);
dc.DrawText(formattedText, location);
вот мое решение: необходимо создать преобразование поворота вокруг начала текста, поэтому мы передаем x и y конструктору RotateTransform
...
// ft - formatted text, (x, y) - point, where to draw
dc.PushTransform(new RotateTransform(-90, x, y));
dc.DrawText(ft, new Point(x, y));
dc.Pop();
...