Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.033 c
3-1088335340
Vemer
2004-06-27 15:22
2004.07.25
Подгонка высоты ячеек в QReport...


1-1089552359
Tahion2
2004-07-11 17:25
2004.07.25
Добавить прозрачную Label на CoolBar без полосы.


1-1089433992
set
2004-07-10 08:33
2004.07.25
Приостановка цикла для ввода дополнительных данных


3-1088409404
Users
2004-06-28 11:56
2004.07.25
Получение спика поставщиков данных


6-1085463570
ORMADA
2004-05-25 09:39
2004.07.25
посылка почты





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский