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

Вертикальный текст

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

Вертикальный текст


var
  Hfont: Thandle;
  logfont: TLogFont;
  font: Thandle;
  count: integer;
begin
  LogFont.lfheight := 30;
  logfont.lfwidth := 10;
  logfont.lfweight := 900;
  LogFont.lfEscapement := -200;
  logfont.lfcharset := 1;
  logfont.lfoutprecision := out_tt_precis;
  logfont.lfquality := draft_quality;
  logfont.lfpitchandfamily := FF_Modern;
  font := createfontindirect(logfont);
  Selectobject(Form1.canvas.handle, font);
  SetTextColor(Form1.canvas.handle, rgb(0, 0, 200));
  SetBKmode(Form1.canvas.handle, transparent);
  {textout(form1.canvas.handle,10,10,'Повернутый',7);}
  for count := 1 to 100 do
  begin
    canvas.textout(Random(form1.width), Random(form1.height), 'Повернутый');
    SetTextColor(form1.canvas.handle, rgb(Random(255), Random(255),
      Random(255)));
  end;
  deleteobject(font);
end;

Программный код на языке Pascal, использующий библиотеку Turbo Vision для создания эффекта вертикального текста на компоненте канвас формы. Вот подробное описание того, что код делает:

  1. Код объявляет несколько переменных:

    • Hfont: обрабатываемый объект шрифта.
    • logfont: структура лог-шрифта, хранящая информацию о шрифте.
    • font: обрабатываемый объект шрифта, созданный из структуры лог-шрифта.
    • count: целочисленная переменная, используемая в цикле.
  2. Код затем настраивает различные свойства структуры лог-шрифта:

    • lfheight: устанавливает высоту шрифта в 30 пикселей.
    • lfwidth: устанавливает ширину шрифта в 10 пикселей.
    • lfweight: устанавливает вес (жесткость) шрифта в 900 (очень жирный).
    • lFescapement: устанавливает направление шрифта (-200), эквивалентное вертикальному тексту.
    • lfcharset: устанавливает кодовую страницу ANSI 1 (US-ASCII).
    • lfoutprecision: устанавливает точность вывода в OUT_ TT_PRECIS, что означает, что шрифт будет отображаться в формате TrueType.
    • lfquality: устанавливает качество отображения шрифта в DRAFT_QUALITY, что является низкокачественным настройкой.
    • lfpitchandfamily: устанавливает шаг и семейство шрифта в FF_MODERN, что является моноспaced-шрифтом (например, Courier).
  3. Код создает объект шрифта из структуры лог-шрифта с помощью функции CreateFontIndirect и присваивает его переменной font.

  4. Код выбирает обрабатываемый компонент канваса как текущий объект и устанавливает цвет текста в синий (RGB(0, 0, 200)).

  5. Код настраивает режим фона канваса в прозрачный, что означает, что любая предыдущая нарисованная контент будет удалена при рисовании нового контента.

  6. Код затем выполняет цикл 100 раз и рисует случайное количество экземпляров текста "Повернутый" в случайных местах на канвасе с помощью функции TextOut. Каждый экземпляр имеет другой цвет, установленный с помощью функции SetTextColor, который генерируется случайно из RGB-значений между 0 и 255.

  7. Наконец, код удаляет объект шрифта с помощью функции DeleteObject.

В целом, этот код создает эффект вертикального текста на компоненте канвас формы, рисуя случайные экземпляры текста "Повернутый" в случайных местах с разными цветами. Текст рисуется жирным, моноспaced-шрифтом (FF_MODERN) высотой 30 пикселей и шириной 10 пикселей.

В статье представлено код на языке Pascal для создания вертикального текста на canvas при помощи функции textout, с использованием различных параметров для настройки внешнего вида текста.


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

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




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


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


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-06-15 22:41:14/0.0056991577148438/1