Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как вращать текст 2

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

Как вращать текст 2


{ Эта процедура устанавливает угол вывода текста
для указанного Canvas, угол в градусах
Шрифт должен быть TrueType }
procedure CanvasSetTextAngle(c: TCanvas; d: single);
var
  LogRec: TLOGFONT; { Информация о шрифте }
begin
  {Читаем текущюю инф. о шрифте }
  GetObject(c.Font.Handle,SizeOf(LogRec) ,Addr(LogRec) );
  { Изменяем угол }
  LogRec.lfEscapement := round(d*10);
  { Устанавливаем новые параметры }
  c.Font.Handle := CreateFontIndirect(LogRec);
end;

Текст на холсте можно вращать с помощью процедуры CanvasSetTextAngle, предоставленной в коде.

Вот что делает эта процедура:

  1. Она устанавливает угол вывода текста для указанного объекта TCanvas, измеряемый в градусах.
  2. Шрифт должен быть TrueType-шрифтом.

Процедура принимает два параметра:

  • c: Ссылка на объект TCanvas, чей угол текста устанавливается.
  • d: Угол (в градусах), под которым будет вращаться текст.

Работает она следующим образом:

  1. Она читает текущую информацию о шрифте с помощью GetObject.
  2. Она модифицирует значение escapement LOGFONT-структуры, которое контролирует вращение текста. Используется функция round для преобразования входного угла d в целочисленное значение.
  3. Она устанавливает новые параметры шрифта с помощью CreateFontIndirect.

Чтобы использовать эту процедуру, обычно вызывается она из обработчика события OnPaint формы, например:

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
  Canvas.SetTextAngle(PaintBox1.Canvas, 45.0);   // Вращает текст на 45 градусов
  Canvas.TextOut(10, 10, 'Вращенный текст');
end;

В этом примере процедура SetTextAngle используется для вращения вывода текста в контроле PaintBox формы под углом 45 градусов.

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

В статье описывается процедура вращения текста на Canvas в Delphi, которая устанавливает угол вывода текста для указанного Canvas и изменяет параметры шрифта для достижения желаемого результата.


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

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




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


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


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:07:18/0.0053420066833496/1