Я хочу знать, какова ширина (единицы) конкретной буквы или алфавита в определенном шрифте.Ширина буквы или алфавита в шрифте
Например, если я напечатаю A в Arial 10 pnts, сколько места займет его панель или текстовое поле или блокнот.
Я хочу знать, какова ширина (единицы) конкретной буквы или алфавита в определенном шрифте.Ширина буквы или алфавита в шрифте
Например, если я напечатаю A в Arial 10 pnts, сколько места займет его панель или текстовое поле или блокнот.
Я стараюсь не слишком беспокоиться о ширине, вместо этого оставляя его в WPF для удобного форматирования текста в любом управлении, которое я использую.
Однако, я думаю, что вы можете создать FormattedText
объект, используя свой шрифт и строку "A"
(среди прочего), а затем использовать его свойство MinWidth
, чтобы получить ширину в единицах / 96th дюйма.
Этот код будет, надеюсь, вы начали:
FormattedText ft = new FormattedText(
"A",
CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight,
new Typeface("Arial"),
32,
Brushes.Black);
double width = ft.MinWidth;
В моей системе, которая устанавливает width
около 21.343
. Если вы поместили em-dash —
, где в настоящий момент находится A
, вы получаете (как ожидалось) 32.0
- размер, указанный вами в пятом аргументе для конструктора FormattedText
.
Действительно, это было большой помощью для меня ... На самом деле этот вопрос был более в контексте ситуации, в которой мне нужно решить. Это утверждение проблемы для того же: У меня есть панель в приложении WPF, Если я увеличиваю размер текста или изменяю шрифт, который я хочу рассчитать, сколько места занимает этот текст для размещения в панели, Далее, если я хочу изменить стиль или размер шрифта на какой процентное пространство на панели занятый текстом. Если вы можете помочь в том, как такое может быть реализовано – Akanksha
@ user3636073, вам лучше задавать другой вопрос с новыми деталями, таким образом вы получите гораздо более широкую группу людей, которые смотрят на это не только я. Я буду следить за вашими вопросами, чтобы я мог видеть, как это произошло. – paxdiablo