Легко нарисовать повернутый текст на форме в C#

Пример Нарисовать повернуть текст в C# показывает, как рисовать повернуть текст. К сожалению, этот метод требует, чтобы вы использовали код во время выполнения для размещения текста. Это не слишком сложно, но неудобно, если вы пытаетесь нарисовать повернутый текст в форме.

В этом примере вы можете использовать элементы управления Label, чтобы определить, где должен располагаться повернутый текст. Во время разработки добавьте элементы управления Label в форму, чтобы указать, где должен быть размещен повернутый текст. Вы можете установить AutoSize = False и BorderStyle = FixedSingle для элементов Label, чтобы упростить их расположение.

Следующий DrawSidewaysText метод рисует вращающийся текст внутри заданного Rectangle. Он использует структуру StringFormat, чтобы определить, как текст расположен внутри Rectangle.

Сначала метод создает новый Rectangle с теми же размерами, что и оригинальный, повернутый на 90 градусов, и его верхний левый угол в начале координат (0, 0).

Код сбрасывает преобразование объекта Graphics и поворачивает его на -90 градусов. Затем он добавляет перевод для перемещения теперь повернутого прямоугольника в нужное конечное положение (где Rectangle с именем bounds).

Код сбрасывает преобразование объекта Graphics и поворачивает его на -90 градусов. Затем он добавляет перевод для перемещения теперь повернутого прямоугольника в нужное конечное положение (где Rectangle с именем bounds).

...

Когда запускается примерная программа, он использует следующий код, чтобы скрыть элементы управления Label, которые позиционируют повернутый текст.

В примерной программе используется следующий обработчик событий Paint для рисования повернутого текста.

Этот код создает структуру StringFormat, которая центрирует текст и устанавливает свойство TextRenderingHint объекта Graphics объекта AntiAliasGridFit на дают хороший результат. В этом примере повернутый текст выглядит немного пикселизованным. Результат лучше с большими шрифтами.

Источник: http://csharphelper.com/blog/2017/01/easily-draw-rotated-text-on-a-form-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *