Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
1-50698
Micah'GF
2002-09-04 21:06
2002.09.16
Нужно держать 2 копии программы.


1-50723
BT
2002-09-05 13:26
2002.09.16
Published and Variant


7-50990
aaZ
2002-06-22 18:19
2002.09.16
Keyboard hook


8-50868
Suroga
2002-01-17 20:09
2002.09.16
Озвучивание времени


8-50873
fore_3
2002-05-16 12:54
2002.09.16
Проблема с перемоткой DVD




   Наверх