Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Печать повернутого текста 4

Delphi , Графика и Игры , Canvas

Печать повернутого текста 4

Приведенное выше решение (1) очень медленно, так как требует рисования текста и содержит, на мой взгляд, неэффективный метод вращения. Попробуйте взамен это:


procedure TForm1.TextUp(aRect:tRect;aTxt:String);
var 
  LFont: TLogFont; 
  hOldFont, hNewFont: HFont;
begin
  GetObject(Canvas.Font.Handle,SizeOf(LFont),Addr(LFont));
  LFont.lfEscapement := 900;
  hNewFont := CreateFontIndirect(LFont);
  hOldFont := SelectObject(Canvas.Handle,hNewFont);
  Canvas.TextOut(aRect.Left+2,aRect.Top,aTxt);
  hNewFont := SelectObject(Canvas.Handle,hOldFont);
  DeleteObject(hNewFont);
end;

Текстовый код:

Процедура 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, использующий создание временного шрифта с поворотом и его последующее выбор.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Canvas ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 17:58:58/0.0048389434814453/2