Печать повернутого текста 4Delphi , Графика и Игры , CanvasПечать повернутого текста 4Приведенное выше решение (1) очень медленно, так как требует рисования текста и содержит, на мой взгляд, неэффективный метод вращения. Попробуйте взамен это:
Текстовый код: Процедура TextUp(aRect: TRect; aTxt: string); var hFont: HFONT; LFont: LOGFONT; begin // Получение текущего объекта шрифта hFont := GetObject(GetCurrentObject()); // Создание нового логического объекта шрифта (LFont) LFont.lfEscapement := 900; // Угол поворота текста в градусах LFont.lfHeight := 0; LFont.lfWidth := 0; LFont.lfItalic := False; LFont.lfStrikeOut := False; LFont.lfUnderline := False; // Создание нового объекта шрифта из логического объекта hFont := CreateFontIndirect(LFont); // Установка нового объекта шрифта как текущего для канваса SelectObject(GetCurrentObject(), hFont); // Вывод текста на канвасе с поворотом Canvas.TextOut(aRect.Left + 2, aRect.Top, aTxt); // Восстановление оригинального объекта шрифта SelectObject(GetCurrentObject(), hFont); // Удаление нового объекта шрифта для освобождения ресурсов DeleteObject(hFont); end. В статье представлен более эффективный способ печати повернутого текста в Delphi, использующий создание временного шрифта с поворотом и его последующее выбор. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
|||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |