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

Вниз

Шрифт с высотой и шириной   Найти похожие ветки 

 
vin   (2004-07-07 17:36) [0]

Уважаемые коллеги,

Необходимо вывести на канву моноширный техт с заданой высотой и шириной в пикселях.

Познакомился с TLOGFONT и CreateFontIndirect,
но выводимый текст не соответствует задаваемой высоте и ширине
(в хелпе речь идет о неких EM единицах для фонта - до конца не понял, что это такое).
Помогите разобраться.

Заранее благодарен,
Иван


 
KSergey ©   (2004-07-07 17:40) [1]

А что имеется в виду под высотой букв, например? Просто для шрифта эта величина не равна видимой высоте букв. Она несколько больше (если не путаю, то максимум/минимум будет у сочетания Йу, вот на эти элементы сверху/снизу и запас)


 
vin   (2004-07-07 17:50) [2]

2KSergey>
Хочу, чтобы каждая буква вписывались в прямоугольник с заданной высотой и шириной...


 
TUser ©   (2004-07-07 18:18) [3]

Если есть моноширинный TrueType - выводи нужной высоты.Высота дается св-вом Label"а Height при отрицательном size, ширина - наверное через Canvas.TextWidth можно определить, и потом смасштабировать. Можно, конечно, создать свой канвас, кинуть на него через TextOut нужный тебе текст и потом сделать CopyRect.


 
KSergey ©   (2004-07-08 07:13) [4]

> [2] vin   (07.07.04 17:50)
> Хочу, чтобы каждая буква вписывались в прямоугольник с заданной
> высотой и шириной...

Она и так вписывается, уверяю
Вот только его границы Вы и Win видимо понимают по разному ;)


 
vin   (2004-07-08 12:19) [5]

2 KSergey, TUser >
Может я некоректно выразился, проблема в следующем:
Обычно для определения размера шрифта задается его высота, как правило в пунктах (1 пункт = 1/72 дюйма), при этом ширину символа мы задать извне не можем. Т.е задается только высота шрифта!
Задача состоит в том, чтобы задать как высоту так и ширину щрифта извне, такой какой захочу.
Для этого я использовал TLOGFONT  (в нем есть свойства высоты и ширины) и функцию CreateFontIndirect. Но не добился желаемого результата.
Спасибо за поддержку дискуссии.


 
KSergey ©   (2004-07-08 12:34) [6]

Не уверен, вероятно может помочь перед выводом текста SetMapMode(Canvas.Handle, MM_ANISOTROPIC) - ну и читаем справку по этому поводу... как задать нужную систему координат по X и Y (надеюсь, про именно MM_ANISOTROPIC я не промахнулся; но в любом случае что-то около того, может и другой какой метод)
Коэффициенты - ну не знаю, надо думать где их взять

А вообще, признаться, уж извините, идиотизьм это
Надписи на экране (на экране!) будут весьма не читабельны. Ну разве что это типа граф. редактор, где не суть в качестве отображения, а в его идентичности распечатки...



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
14-1088776252
Rain
2004-07-02 17:50
2004.07.25
hbTAPI


14-1089115718
Акуля
2004-07-06 16:08
2004.07.25
есть mdb


4-1087303623
bukerman
2004-06-15 16:47
2004.07.25
??? Компонента для выбора компьютера в сети


1-1089685804
Глеб
2004-07-13 06:30
2004.07.25
Работа с выделенным текстом в MS Word


14-1089362941
Junior
2004-07-09 12:49
2004.07.25
как сделать задергку