Форум: "Основная";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];
ВнизШрифт с высотой и шириной Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.035 c