Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Размер Шрифта [D6]


Oleksiy ©   (2010-03-12 09:58:00) 

Есть функция которая выводит текст на картинку.
Проблема в том что если картинка маленькая то текст выходит за пределы.
Если большая то текст слишкоам маленький.

Задача в том что нужно менять размер шрифта в соответствии с размером картинки.Вот только алгоритм по которому высчитать это можно в голову не лезит (((


Desdechado   (2010-03-12 14:06:00) [1]

DrawText + DT_CALCRECT


Anatoly Podgoretsky   (2010-03-12 13:33:00) [2]

> Oleksiy  (12.03.2010 09:58:00)  [0]

Прочитать размеры и дать определения, что является маленьким и что большим, ну а далее дело техники.


Amir   (2010-03-12 11:51:00) [3]

А хинт не поможет предводителю ?


И. Павел   (2010-03-12 11:50:00) [4]

Ну так нужно перебрать несколько шрифтов, и определить размер, занимаемый текстом данного шрифта. Если текст в одну строчку - то TextHeight/TextWidth вполне подходит. Если в несколько - зависит от способа вывода этого текста, но тоже можно свести к Width/Height.


Плохиш   (2010-03-12 11:49:00) [5]


> Oleksiy   (12.03.10 11:46) [2]
>
> Canvas.TextHeight()  возвращает высоту текста не понимаю
> как это может помочь ?

Например, может показать впишется ли текст в картинку по высоте.


Oleksiy   (2010-03-12 11:46:00) [6]

Canvas.TextHeight()  возвращает высоту текста не понимаю как это может помочь ?

Вопрос в том Если картинка к примеру:

800х600 > Размер шрифта 20
300х100 > Размер шрифта 8
1024х600 > Размер шрифта 25

Вот этот размер шрифта должен высчитываться по отношению к размеру картинки...


И. Павел   (2010-03-12 11:42:00) [7]

Canvas.TextHeight() ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо