Поверните строку, чтобы написать вертикально на растровом изображении - PullRequest
1 голос
/ 07 августа 2009

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

Метод Graphics.DrawString не позволяет указывать угол поворота; какие еще методы существуют?

Ответы [ 4 ]

2 голосов
/ 07 августа 2009

Я думаю, вы можете получить некоторые указатели от этого ответа о повороте текста для печати , который я написал некоторое время назад.

2 голосов
/ 07 августа 2009

Вот учебник, который может помочь http://www.c -sharpcorner.com / Блоги / BlogDetail.aspx? BlogId = 580

Я считаю, что StringFormatFlags.DirectionVertical - это то, что вы ищете

0 голосов
/ 07 августа 2009

Для этого вы можете использовать логический шрифт . Но это боль - вам лучше использовать ответ Фредрика (если вы не делаете это в Compact Framework, где RotateTransform недоступен).

0 голосов
/ 07 августа 2009

Может быть, вы можете повернуть растровое изображение на 90 градусов и записать текст в верхнюю часть растрового изображения - затем снова поверните и напишите текст следующей стороны - это даст вам текст, выполняющий CW / CCW по краям.

Если вы хотите, чтобы он располагался горизонтально вверху и внизу и вертикально слева и справа, я предлагаю измерить (или предположить) размер самого большого символа, который вам нужно написать, а затем использовать его для позиционирования нарисованного текста - один символ за один раз - сначала слева, затем справа, затем двигаясь вниз на один символ и повторяя. Вы можете, конечно, просто направо на левую сторону, а затем на правую. просто используйте ширину символа для вставки справа и высоту символа для вертикального смещения между символами.

например.

1         2     OR     1         4      GIVING   C        D
3         4            2         5               A        O
5         6            3         6               T        G

Возможно, не самое элегантное решение, но может помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...