| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > GDI+. Как нарисовать строку повертикали? |
| Автор: voov 21.5.2008, 14:33 |
| Нужно нарисовать строку по вертикали (повернутую на 90 градусов против часовой стрелки), используя библиотеку GDI+. Какими способами можно это сделать? |
| Автор: voov 5.6.2008, 14:16 | ||
| Неужели совсем нет вариантов? Я нашел следующий способ.
Но я не уверен, что этот способ оптимальный. Может кто сможет предложить способ получше? |
| Автор: Earnest 5.6.2008, 18:55 |
| Насчет GDI+ не скажу, а через "чистый" GDI делается так: создаешь фонт с "повернутыми" символами (просто угол наклона символа в структуре LOGFONT ставишь) и рисуешь через DrawText, указывая, конечно, соответствующий RECT. Наверняка в GDI+ можно найти аналоги. |
| Автор: Rapalex 6.6.2008, 12:01 |
| Самое простое повернуть систему координат, и да и всё. |
| Автор: voov 6.6.2008, 15:45 | ||||
Пробовал. Брал рабочий пример на Делфи с таким способом. Делал аналогично - Не получилось. Может есть пример на С с GDI, о котором ты говоришь?
Это как? |
| Автор: Earnest 7.6.2008, 08:02 |
| Примера под рукой нет -давно когда-то делала, так что точно работает, но вполне могут быть какие-то тонкости... Попробуй пошарить на codeproject |
| Автор: voov 9.6.2008, 11:21 |
| Нашел еще такую штуку как StringFormatFlags. Если ему установить StringFormatFlagsDirectionVertical, то строка рисуется вертикально, но повернутая на 90 градусов по часовой стрелке. А чтобы строка была повернута на 90 градусов против часовой, используется TranslateTransform и RotateTransform из класса Graphics вкупе с StringFormatFlags - это на codeproject. |