Содержание
  ДОМОЙ
  НОВОСТИ  
  IT АКАДЕМИЯ
  WAP-ВЕРСИЯ
  ФОРУМ
  БЕЗОПАСНОСТЬ
  ПРОГРАММИРОВАНИЕ
  ИНСТРУМЕНТ ВЕБМАСТЕРА
  ВСЁ ДЛЯ КПК
  СТАТЬИ NEW
  СОФТ
  ВИДЕО
  X-INFO
  ПРОКСИ ЛИСТ
  IT МУЗЫКА
  АНЕКДОТЫ
  ССЫЛКИ
  ТЕХ. ПОДДЕРЖКА
  ПРАВООБЛАДАТЕЛЯМ
  О НАС

 

Ваш IP

18.217.237.169

Человек на сайте На сайте: 205 человек(а)

Здесь могла бы
быть Ваша
РЕКЛАМА




Как повернуть текст и изменить его свойства (толщина, шрифт, флаги...)
 



Приведу небольшой примерчик, и обьясню что к чему:

program TextOutPr;

uses
 Windows;

var
 lfont : LOGFONT;
 font : HFONT;
 dc : HDC;

begin
 dc := GetDc(0);

 lfont.lfHeight := 13;
 lfont.lfWidth := 13;
 lfont.lfEscapement := 500;
 lfont.lfOrientation := 500;
 lfont.lfWeight := FW_LIGHT;
 lfont.lfItalic := 0;
 lfont.lfUnderline := 0;
 lfont.lfStrikeOut := 0;
 lfont.lfCharSet := DEFAULT_CHARSET;
 lfont.lfOutPrecision := OUT_DEFAULT_PRECIS;
 lfont.lfClipPrecision := CLIP_DEFAULT_PRECIS;
 lfont.lfQuality := DEFAULT_QUALITY;
 lfont.lfPitchAndFamily := DEFAULT_PITCH;
 lfont.lfFaceName := 'tahoma';

 font := CreateFontIndirect(lfont);

 SelectObject(dc, font);
 SetBkMode(dc, TRANSPARENT);
 SetTextColor(dc, 255);

 TextOut(dc, 300, 300, 'HELLO WORLD!', length('HELLO WORLD!'));

 DeleteObject(font);
 DeleteDc(dc);
end.


Итак, я опишу лишь свойства шрифта, так как многое уже есть в других 'How to'.

lfont.lfHeight - высота шрифта в пикселах, если установить 0 - пропорция возьмётся по умолчанию, как в оригинальном шрифте.

lfont.lfWidth - ширина шрифта в пикселах, аналогично, если установить 0 - сохраняется пропорция по умолчанию.

lfont.lfEscapement - угол поворота - чтобы установить значение по градусам, нужно умножить исходное значение в градусах на 10, наример чтоб повернуть текст на 180 градусов, нужно установить значение параметра в 180 * 10 = 1800, то есть в 1800.

lfont.lfOrientation - определяет относительно какой точки (по x) поворачивать текст.

lfont.lfWeight - толщина символов, вот допустимые константы и их значения:

FW_DONTCARE = 0
FW_THIN = 100
FW_EXTRALIGHT = 200
FW_ULTRALIGHT = 200
FW_LIGHT = 300
FW_NORMAL = 400
FW_REGULAR = 400
FW_MEDIUM = 500
FW_SEMIBOLD = 600
FW_DEMIBOLD = 600
FW_BOLD = 700
FW_EXTRABOLD = 800
FW_ULTRABOLD = 800
FW_HEAVY = 900
FW_BLACK = 900

lfont.lfItalic - наклонность шрифта - если наклонный - значение 1 (true), если простой, то 0 (false)

lfont.lfUnderline - подчёркнутый шрифт - аналогично предыдущему - 1 - да, 0 - нет

lfont.lfStrikeOut - зачёркнутый шрифт - определяется аналогично

lfnt.lfCharSet - кодировка, вот допустимые значения:

ANSI_CHARSET
DEFAULT_CHARSET
SYMBOL_CHARSET
SHIFTJIS_CHARSET
GB2312_CHARSET
HANGEUL_CHARSET
CHINESEBIG5_CHARSET
OEM_CHARSET

lfont.lfOutPrecision - допустимые значения:

OUT_CHARACTER_PRECIS
OUT_DEFAULT_PRECIS
OUT_DEVICE_PRECIS
OUT_OUTLINE_PRECIS
OUT_RASTER_PRECIS
OUT_STRING_PRECIS
OUT_STROKE_PRECIS
OUT_TT_ONLY_PRECIS
OUT_TT_PRECIS

lfont.lfClipPrecision - допустимые значения:

CLIP_DEFAULT_PRECIS
CLIP_CHARACTER_PRECIS
CLIP_STROKE_PRECIS
CLIP_MASK
CLIP_EMBEDDED
CLIP_LH_ANGLES
CLIP_TT_ALWAYS

lfontALITY
DRAFT_QUALITY
PROOF_QUALITY

lfont.lfPitchAndFamily - допустимые значения:

DEFAULT_PITCH
FIXED_PITCH
VARIABLE_PITCH

VARIABLE_PIRCH может принимать несколько значений в комбинации, константы объединятся с помошью логической операции or, например VARIABLE_PIRCH or FF_ROMAN

FF_DECORATIVE
FF_DONTCARE
FF_MODERN
FF_ROMAN
FF_SCRIPT
FF_SWISS
FF_DECORATIVE
FF_DONTCARE
FF_MODERN
FF_ROMAN
FF_SCRIPT
FF_SWISS

lfont.lfFaceName - имя шрифта, напримет tahoma или courier new. Максимальная длинна имени - 35 символов Для того чтобы узнать все имена шрифтов, установленных в системе, можно использовать функцию EnumFontFamilies().

исходник - в исходнике дополнительно показано, как создать шрифт без переменной типа logfont

SLAyer

Другие статьи

По всем вопросам и предложениям по сайту пишите на info@comp-info.ru
 


Содержание
  ДОМОЙ
  НОВОСТИ  
  IT АКАДЕМИЯ
  WAP-ВЕРСИЯ
  ФОРУМ
  БЕЗОПАСНОСТЬ
  ПРОГРАММИРОВАНИЕ
  ИНСТРУМЕНТ ВЕБМАСТЕРА
  ВСЁ ДЛЯ КПК
  СТАТЬИ NEW
  СОФТ
  ВИДЕО
  X-INFO
  ПРОКСИ ЛИСТ
  IT МУЗЫКА
  АНЕКДОТЫ
  ССЫЛКИ
  ТЕХ. ПОДДЕРЖКА
  ПРАВООБЛАДАТЕЛЯМ
  О НАС

 
Поиск по сайту
Утилиты

  Сниффер
  Лог сниффера
  MD5 и Base64
  Декодирование MD5 NEW
 Перекодировщик
  Проверить прокси
  Проверка анонимности
  Генерация пароля
  Скрипт определения IP
  Поиск информации
   Проверить IP (Whois)
   Узнать скорость закачки
   Добавить свой сайт в поисковые системы>
   Подсветка php-кода

ПОЛЕЗНАЯ ИНФОРМАЦИЯ:
  Список национальных доменных имен
  Компьютерные термины
  Смайлики
   Аналоги Win-программ в Linux
   Коды ответа HTTP сервера
   Записки невесты программиста

Здесь могла бы
быть Ваша
РЕКЛАМА





Права на содержащиеся на сайте материалы принадлежат авторам материалов и владельцам проекта.
Copyright Комп-Инфо.ру © 2005