Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.16;
Скачать: CL | DM;

Вниз

Canvas.TextOut - выравнивание   Найти похожие ветки 

 
d_oleg ©   (2002-09-04 16:01) [0]

Подскажите пожалуйста, как нарисовать текст на канве разного размера, чтобы буквы нормально были выровнены по строчкам? Ну например сначала вызывается TextOut со шрифтом размером 10, а дальше строку надо продолжить шрифтом размером 20, как рассчитать смещение по Y относительно начала строки?


 
lenin ©   (2002-09-04 16:09) [1]

Canvas.TextHeight


 
d_oleg ©   (2002-09-05 15:01) [2]

TextHeigt возвращает только высоту конкретного текста, который я указываю. Но я же не могу узнать с его помощью расстояние, на которое должны "свисать" вниз относительно строки символы j к примеру или "возвышаться" заглавные буквы - только лишь могу выровнять все символы относительно их "низа" или "верха", но не относительно строки.


 
Andrey007   (2002-09-05 15:44) [3]

А что значит "могу выровнять все символы относительно их "низа" или "верха", но не относительно строки"? По-моему, выравнивание отнсительно "низа" - это иесть выравнивание относительно строки.


 
d_oleg ©   (2002-09-05 16:16) [4]

ну "низ"-то для разных символов - понятие различное. Что-то "свисает" со строки. Например символ р. И в зависимости от размеров шрифта "свисает" по-разному. А TextHeight выдаёт размер абсолютный, максимально возможный.


 
d_oleg ©   (2002-09-06 09:07) [5]

ну в-общем кому интересно, рассказываю:
определение базовой линии шрифта (baseline)
var TM: TTextMetric;
GetTextMetrics(Canvas.Handle, TM);
ascent := TM.tmAscent; // расстояние от верхней точки шрифта до базовой линии



Страницы: 1 вся ветка

Текущий архив: 2002.09.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-50809
Ola
2002-09-03 08:58
2002.09.16
ShiftState


4-51040
keymaster
2002-07-27 02:34
2002.09.16
Рисование без формы


6-50893
BOL
2002-07-03 16:20
2002.09.16
Рассылка большого количества писем по разным адресам


1-50683
KidMan
2002-09-04 22:48
2002.09.16
Вывод в файл


3-50660
mas_alexey
2002-08-22 18:56
2002.09.16
BDE