powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Font Размер режимы преобразования координат
5 сообщений из 5, страница 1 из 1
Font Размер режимы преобразования координат
    #33949913
vanoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И снова про печать...

При печати устанавливаю режим преобразования координат:
pDC->SetMapMode(MM_HIMETRIC); // Each logical unit is converted to 0.01 millimeter.

Далее создаю шрифты:


...
CFont *pFont=new(CFont);
BOOL isFontCreated=(pFont!=NULL);
if (isFontCreated)
{
//Подразумевается Arial 14 Bold
isFontCreated=pFont->CreateFont(
6*100,
...// nHeight

Вопрос: старый добрый Word определяет размеры шрифта в чём-то общепонятном (кстати в чём?) 12, 14, ... каждый из нас представляет эти размеры. А как сопоставляется размер 14 с высотой символа в CFont::nHeight
при условии, что выбран режим преобразования координат MM_HIMETRIC?
Чего надо пихнуть в CFont::nHeight чтобы получить всем известный 14-ый шрифт.

Вопрос шире: где можно найти формулы преобразования Высоты в Общепринятые размеры для разных режимов преобразования координат?

Спасибо за помошь.

p.s. не пинайте. www.ya.ru чё-та не помог
...
Рейтинг: 0 / 0
Font Размер режимы преобразования координат
    #33949943
vanoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добавка

nHeight - Specifies the desired height (in logical units)
virtual int SetMapMode(MM_HIMETRIC);
MM_HIMETRIC- Each logical unit is converted to 0.01 millimeter

вроде вот он ответ...но делая
nHeight=14*100 получаю неимоверно большой шрифт (не 14-ый)
nHeight=14*10 получаю маленький шрифт (не 14-ый, скорее 6-5)
...
Рейтинг: 0 / 0
Font Размер режимы преобразования координат
    #33949976
ZrenBy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
LogicalInch = GetDeviceCaps(hdc, LOGPIXELSY)
DeviceUnits = MulDiv(PointSize, LogicalInch,  72 )
...
Рейтинг: 0 / 0
Font Размер режимы преобразования координат
    #33950023
vanoman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZrenBy
Код: plaintext
1.
2.
LogicalInch = GetDeviceCaps(hdc, LOGPIXELSY)
DeviceUnits = MulDiv(PointSize, LogicalInch,  72 )


От всей души Спасибо!
...
Рейтинг: 0 / 0
Font Размер режимы преобразования координат
    #33954183
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vanomanВопрос: старый добрый Word определяет размеры шрифта в чём-то общепонятном (кстати в чём?) 12, 14, ... каждый из нас представляет эти размеры.


В пунктах. Пункт = 1\72 дюйма.

vanoman
А как сопоставляется размер 14 с высотой символа в CFont::nHeight
при условии, что выбран режим преобразования координат MM_HIMETRIC?
Чего надо пихнуть в CFont::nHeight чтобы получить всем известный 14-ый шрифт.

Вопрос шире: где можно найти формулы преобразования Высоты в Общепринятые размеры для разных режимов преобразования координат?



Вроде его и надо, 14. Только это очень запутанная история. Надо почитать внимательно про шрифты, или вот еще книгу Фень Юаня почитать.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Font Размер режимы преобразования координат
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]