Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.09.16;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
3-50606
SERY
2002-08-25 15:53
2002.09.16
Не могу разобраться


1-50680
nimble
2002-09-05 05:51
2002.09.16
Pointer&Dynamic Array


1-50714
Arkady
2002-09-05 11:43
2002.09.16
Компиляция


4-51028
stainer
2002-07-26 00:35
2002.09.16
RegisterWindowMessage ( TaskbarCreated )),


1-50688
fishca
2002-09-03 12:00
2002.09.16
Delphi7





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский