Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Смещение координат при печати текста разного кегеля. / 11 сообщений из 11, страница 1 из 1
16.10.2016, 20:15
    #39327832
HeyJoe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
Здравствуйте. Вывожу текст в заданных координатах через объект Graphics.DrawString. Проблема состоит в том, что при увеличении кегеля положение текста изменяется по диагонали. И координаты заданного левого нижнего угла (задается вычитанием высоты текста) изменяются. Подскажите как можно точно указать или вычислить необходимые координаты?
Спасибо.
...
Рейтинг: 0 / 0
16.10.2016, 21:44
    #39327859
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
HeyJoe,

Есть функции средней ширины и высоты букв для кегля и шрифта
...
Рейтинг: 0 / 0
16.10.2016, 21:48
    #39327862
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
Cat2HeyJoe,

Есть функции средней ширины и высоты букв для кегля и шрифта никаких средних — есть положение базовой линии
М
...
Рейтинг: 0 / 0
16.10.2016, 23:14
    #39327889
HeyJoe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
Изопропил, не подскажите что за функция? Я так понимаю это положение по оси ординат?
Спасибо.
...
Рейтинг: 0 / 0
16.10.2016, 23:19
    #39327890
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
HeyJoe,

Читать "шрифты метрика"
Для начала https://msdn.microsoft.com/ru-ru/library/xwf9s90b(v=vs.110).aspx
...
Рейтинг: 0 / 0
16.10.2016, 23:36
    #39327898
HeyJoe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
Изопропил, да, это подходит для ординат, а есть что-нибудь для абсцисс, т.к. сдвиг диагональный?
...
Рейтинг: 0 / 0
16.10.2016, 23:40
    #39327901
HeyJoe
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
Изопропил, хотя...это же для определенного стиля. У меня варьируемый параметр это кегль. Т.е. стиль будет одинаковым и результат функции тоже.
...
Рейтинг: 0 / 0
17.10.2016, 10:01
    #39327992
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
ИзопропилCat2HeyJoe,

Есть функции средней ширины и высоты букв для кегля и шрифта никаких средних — есть положение базовой линии
М
Ну ошибся малехо. Есть только размер по высоте

GetCellAscent(FontStyle)
GetCellDescent(FontStyle)
...
Рейтинг: 0 / 0
17.10.2016, 10:11
    #39328001
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
Cat2Есть только размер по высоте
Ан нет. Есть еще максимальная ширина

Font.Size
Возвращает ширину самой большой буквы этого шрифта Font в единицах измерения, заданных свойством Unit.

Font.SizeInPoints
Возвращает ширину самой большой буквы этого шрифта Font (в пунктах).
...
Рейтинг: 0 / 0
17.10.2016, 14:26
    #39328209
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
Cat2,

много чего есть:

x-height
cap height(EM height)
ascent
descent
line height

line gap

выделенное - доступно из FontFamily




PS всё пришло из металлического набора
...
Рейтинг: 0 / 0
17.10.2016, 14:39
    #39328225
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смещение координат при печати текста разного кегеля.
HeyJoeда, это подходит для ординат, а есть что-нибудь для абсцисс, т.к. сдвиг диагональный?это иллюзия
HeyJoeхотя...это же для определенного стиля. У меня варьируемый параметр это кегль
ну дык рассчитайте сдвиг базовой линии
Код: c#
1.
(double)f.FontFamily.GetCellAscent(f.Style) / f.FontFamily.GetLineSpacing(f.Style) * f.Height
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Смещение координат при печати текста разного кегеля. / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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