Путь разработчика    

Получаем размер шрифта в пикселях в C#

Одна странность класса Font заключается в том, что его свойство «Размер» возвращает размер шрифта в единицах, которые использовались для создания шрифта. Свойство Unit класса Font указывает вам единицы, используемые для создания шрифта, но если вам нужен размер шрифта в определенных единицах (например, пикселях), вам необходимо обрабатывать несколько возможных случаев при преобразовании размера шрифта.

Пример При рисовании гладкого текста в GraphicsPath в C# используется следующий код, чтобы избежать необходимости конвертировать размер шрифта.

Python

Этот код использует пиксели для определения шрифта формы. Позже программа использует следующий код для добавления строки к объекту GraphicsPath.

Python

Метод AddString определяет размер шрифта в пикселях. Поскольку обработчик события Load формы определяет размер шрифта в пикселях, этот код может использовать this.Font.Size для размера, переданного методу AddString.

В этом примере используется другой метод. Вместо того, чтобы создавать шрифт с использованием единичных пикселей, он использует свойство PropertyInPoints объекта Font, чтобы получить размер шрифта в точках, а затем преобразует их в пиксели.

Python

Строка ключевого кода выше выделена синим цветом. По определению точка принтера составляет 1/72 дюйма дюйма. Код получает размер шрифта в точках и делит на 72, чтобы получить дюймы. Затем он умножается на разрешение экрана в точках (пикселей) на дюйм, чтобы получить размер в пикселях. Он использует этот размер, чтобы добавить строку к объекту GraphicsPath.

Результаты, полученные методом DrawString объекта Graphics и объектом GraphicsPath, почти одинаковы. В этом примере метод DrawString использует значение TextRenderingHint AntiAlias. Если вы используете AntiAliasGridFit, вы получите немного лучший кернинг (межсимвольный интервал), чтобы получить более приятный результат, но тогда ширина строки не совпадает с результатом, заданным объектом GraphicsPath.

Источник: csharphelper.com/blog/2017/07/get-font-size-in-pixels-in-c/



Отзывы (через Facebook):

Оставить отзыв с помощью аккаунта FaceBook:

Отображение перспективного изображения в C#

Некоторое время назад кто-то спросил меня, как он может отображать изображение в WPF с одной стороны, меньшей, чем другая, чтобы создать визуальный вид пер...

04 06 2020 16:29:29

TreeMap в Java

Класс TreeMap реализует интерфейс карты, аналогичный классу HashMap. Он сохраняет свои записи в порядке возрастания, отсортированные в соответствии с естес...

03 06 2020 11:48:10

Сделать общие методы Min и Max в C#

В этом примере показано, как вы можете создать общие методы Min и Max, чтобы найти минимальное и максимальное значения в последовательности параметров. Мет...

02 06 2020 16:10:48

Как сделать метафайл в C#

Пример Отображение метафайла Windows (wmf) в C# < / a> объясняет, как отображать метафайл и почему метафайлы могут давать лучшие результаты, чем растровые...

01 06 2020 19:32:13

Отображение простого пароля перед запуском программы на C#

Вы можете подумать, что программа может начинаться с формы пароля, а затем отображать ее основную форму, если пользователь вводит правильный пароль. К сожа...

31 05 2020 3:35:44

Получить операционную систему компьютера в C#

В этом примере используется следующий код для отображения версии операционной системы при ее запуске. Этот пример просто получает объект System.Environment...

30 05 2020 1:47:55

Hello World! Занимательное программирование ( Картер Сэнд, Уоррен Сэнд )

Привет! Любишь компьютерные игрушки? А хочешь попробовать написать что-нибудь сам? Представь, как зауважают тебя друзья, когда ты покажешь им игру своей со...

29 05 2020 1:21:39

Изучаем Python, 4-е издание (Марк Лутц)

Такие известные компании, как Google и Intel, Cisco и Hewlett-Packard, используют язык Python, выбрав его за гибкость, простоту использования и обеспечивае...

28 05 2020 19:42:27

Позвольте пользователю выбрать принтер, а затем отправить распечатку непосредственно на него в C#

... Когда пользователь выбирает принтер и нажимает кнопку « Печать», следующий код отправляет распечатку на выбранный принтер. Источник: http://csharphelper...

27 05 2020 21:22:41

События флеш-кликов в C#

Если кнопка запускает длинную задачу, вы, вероятно, не хотите, чтобы пользователь мог снова нажать кнопку (или, возможно, ничего в приложении), пока задача...

26 05 2020 7:55:34

Объявлять и инициализировать пустые массивы в C#

Это удобный трюк для работы с возможными пустыми массивами. Программа C# не может использовать свойства и методы массива, пока не будет создан экземпляр ма...

25 05 2020 1:27:27

Математические функции Python

Функции могут делать что угодно, но их основной шаблон использования принимает параметры и возвращаемые значения . Математический модуль предоставляет неко...

24 05 2020 5:13:43

Разница между Java и JavaScript?

Хотя оба имеют похожие имена, оба являются двумя совершенно разными языками программирования. Java - это полнофункциональный, универсальный, язык программи...

23 05 2020 18:42:38

Где разместить JavaScript в HTML-файле?

Существует гибкость, предоставляемая для включения кода JavaScript в любом месте документа HTML. Код JavaScript может быть встроен в: Заголовок страницы ме...

22 05 2020 12:14:20

Сравнение строк в Java

Класс Java String имеет ряд методов сравнения строк. Ниже приведены некоторые из часто используемых методов: Операторы == для сравнения, а не значения, рав...

21 05 2020 10:54:20

Методы расширения для генерации случайных чисел двойной дочности в C#

В этом примере добавляются методы расширения класса Random для генерации двойных значений в указанном диапазоне. Класс Random предоставляет методы для гене...

20 05 2020 16:39:43

Для чего используется Python?

Python - это язык общего назначения . Его можно использовать практически для чего угодно. Это один из самых универсальных языков в мире. Благодаря большому...

19 05 2020 17:57:53

Нарисуйте отмеченную круговую диаграмму в C#

Пример Нарисовать круговую диаграмму на C# показывает, как для рисования простой круговой диаграммы. Этот пример добавляет метки в срезы пирога. В этом при...

18 05 2020 7:12:21

Скопируйте массивы быстро в C#

Для копирования массива достаточно просто использовать цикл для, но для большинства массивов вы можете получить еще лучшую производительность, используя Ar...

17 05 2020 16:55:49

Класс Java StringBuilder

Java StringBuilder идентичен StringBuffer, за исключением одного важного различия, которое не синхронизировано, это означает, что он не является потокобезо...

16 05 2020 15:33:55

Break и Continue в Python

Иногда желательно пропустить некоторые утверждения внутри цикла или немедленно завершить цикл, не проверяя тестовое выражение. В таких случаях мы можем исп...

15 05 2020 2:13:34

Код рефакторинга в C#

Что такое рефакторинг?  Это процесс улучшения читаемости, сложности и производительности кода путем изменения: Внутренняя структура кода. Внешнее поведение...

14 05 2020 18:43:18

Нарисуйте пунктирные линии с помощью разных стилей штриховки в C#

Контрольная панель определяет, как программа рисует концы точек и тире, которые составляют пунктирную линию. Если линия шириной 1 пиксель, вы, вероятно, не...

13 05 2020 18:36:18

Метод time.sleep() в Python

Метод python sleep(), используемый для приостановки выполнения для заданного времени (в секундах). Мы можем использовать функцию ожидания python, чтобы ост...

12 05 2020 2:22:51

Как найти слово под мышью в элементе управления RichTextBox в C#

Следующий метод WordUnderMouse возвращает слово под мышью в RichTextBox. В коде используется метод RichTextBox управления GetCharIndexFromPosition, чтобы п...

11 05 2020 8:40:18

Самоучитель C++ (Г. Шилдт)

Необходимость в переработке и дополнении предыдущего издания книги вызвана в первую очередь выходом в свет долгожданного для программистов всего мира едино...

10 05 2020 22:54:41

Как рандомизировать двумерные массивы в C#

В этом примере используется следующий метод расширения для рандомизации двумерных массивов. Чтобы рандомизировать двумерные массивы, код начинается с получ...

09 05 2020 15:16:32

Как удалить непечатаемые символы ASCII из строки в C#

Следующий способ расширения TrimNonAscii удаляет непечатаемые символы ASCII из строки. ... Обратите внимание, что этот метод удаляет много полезных символо...

08 05 2020 2:44:53

Методы расширения в C#

C# поддерживает несколько способов расширения существующих типов без изменения существующего кода. Существует два разных способа: методы расширения и перео...

07 05 2020 6:21:30

Перемещение элементов между двумя ListBoxes в C#

Один из способов позволить пользователю выбрать элементы из списка - использовать ListBox или CheckedListBox. Пользователь может щелкнуть, Ctrl + Click, Sh...

06 05 2020 1:53:21

Удалите гиперссылки из документа Word в C#

В этом примере показано, как удалить гиперссылки из документа Word. Когда вы выбираете текст на веб-странице и вставляете его в документ Word, результат ча...

05 05 2020 5:21:21

Как создать строку Java из содержимого файла?

И Л И Использование класса сканера Следующий код Java прочитает весь файл в String. Пример Примечание: useDelimiter ("\ Z") задает разделитель в конце файла...

04 05 2020 4:20:15

This в JavaScript

This ключевое слово является одним из самых запутанных и непонятных частей JavaScript. Ключевое слово this this ведет себя по-разному в JavaScript по сравн...

03 05 2020 21:48:32

Отображать изображения в базе данных Access в WPF и C#

В этом примере показано, как вы можете отображать изображения, хранящиеся в базе данных Access в программе WPF. Вы можете сделать это с помощью связанных э...

02 05 2020 18:56:46

Сравнение скорости арифметических операций в C#

В этом примере сравниваются скорости арифметических операций с разными типами данных. Существует большая разница между скоростями операций с использованием...

01 05 2020 11:20:55

Как защитить код Python?

Сама природа Python делает задачу защиты исходного кода сложной, потому что ничто не может быть защищено от обратной инженерии. Python, являющийся интерпре...

30 04 2020 20:39:40

Вектор в Java

Java-векторы обычно используются вместо массивов, поскольку они автоматически расширяются при добавлении новых данных. Это означает, что экземпляры Vector,...

29 04 2020 8:11:42

Как разделить строку в C#

В этой статье мы узнаем, как разделить строку на C#. C# Split () обрабатывает разделение на заданные строковые и символьные разделители.  Он возвращает масс...

28 04 2020 17:53:53

Разделить файлы изображений в C#

В этом примере показано, как можно разделить файлы изображений на более мелкие фрагменты. Недавно мне нужны отдельные файлы растровых изображений для значк...

27 04 2020 21:39:37

Программирование на Java

Сокет - одна из самых фундаментальных технологий программирования компьютерной сети. Это способ подключения двух узлов в сети для связи друг с другом. Прог...

26 04 2020 19:25:14

Позвольте пользователю писать на PictureBox в C#

Класс Graphics предоставляет метод DrawLines, который рисует ряд связанных строк, который иногда называют полилинией. Эта программа позволяет пользователю...

25 04 2020 4:13:55

Переменные и типы данных JavaScript

Данные могут быть разных типов. Типы данных зависят от значений, которые удерживаются переменной. Следующий урок охватывает динамические типы данных JavaSc...

24 04 2020 4:59:28

Класс BufferedReader в Java

Буферизованные считыватели предпочтительнее для более сложных задач, таких как файловые и потоковые считыватели. Он оптимизирует ввод и вывод, уменьшая кол...

23 04 2020 17:34:15

Разработка веб-приложений с помощью PHP и MySQL (Люк Веллинг, Лора Томсон)

Эта книга предназначена для тех, кто уже знаком, по крайней мере, с основами HTML и ранее разрабатывал программы на современных языках программирования, но...

22 04 2020 1:19:24

Являются ли полиморфизм, перегрузка и переопределение аналогичных понятий?

Перегрузка - это действие определения нескольких методов с тем же именем, но с разными параметрами. Переопределяющее средство переопределяет тело метода су...

21 04 2020 15:35:14

Отображение состояния батареи с помощью значка уведомлений в C#

Пример Показывать статус батареи дружелюбно в C# показывает, как нарисовать изображение батареи, чтобы показать состояние батареи. В этом примере отображае...

20 04 2020 5:24:47

Как дать свойства индексатора по умолчанию для класса в C#

Свойство indexer является свойством, которое другой код может использовать внутри квадратных скобок для доступа к некоторому значению, предоставляемому кла...

19 04 2020 16:59:29

Сравните производительность команд if-else и switch в C#

Пример Сравните скорости условного оператора (тройной оператор? :) и оператор if-else в C# сравнивает производительность двух видов условных тестов. Джонни...

18 04 2020 20:20:50

Программирование под Android (Брайан Харди, Билл Филлипс)

Эта книга научит вас всем тонкостям разработки приложений для мобильных устройств, работающих на популярной операционной системе Android. Основанное на уче...

17 04 2020 16:36:47

Как рассчитать разницу дат в Java

Есть много способов найти разницу между датами. Ниже приведен самый простой способ найти разницу между двумя датами. Вы можете просто взять число миллисеку...

16 04 2020 5:26:15

1С: Бухгалтерия 8 с нуля. 100 уроков для начинающих (Гладкий А.)

Книга 1 С: Бухгалтерия 8 с нуля. 100 уроков для начинающих содержит полное описание приемов и методов работы с программой 1 С: Бухгалтерия 8. Рассматривается...

15 04 2020 15:15:53

Нарисуйте масштабированное нормальное распределение в C#

Пример Нарисовать нормальную кривую распределения в C# показывает, как для нормального распределения. К сожалению, для некоторых средств и стандартных откл...

14 04 2020 20:59:38

Как нарисовать текст, заполненный картиной в C#

В этом примере показано, как вы можете нарисовать текст, заполненный изображением. Он использует два изображения, добавленные в проект в качестве ресурсов....

13 04 2020 11:43:30

Разница между локальной переменной Java, переменной экземпляра и переменной класса?

Локальная переменная в Java обычно используется в методе, конструкторе или блоке и имеет только локальную область. Таким образом, вы можете использовать пе...

12 04 2020 1:39:26

Многопользовательские игры. Разработка сетевых приложений (Глейзер Дж.)

Многопользовательские игры. Разработка сетевых приложений: Сетевые многопользовательские игры — это многомиллиардный бизнес, привлекающий десятки миллионов...

11 04 2020 10:19:22

Секреты профессиональной работы с «1С:Бухгалтерией 8». БАНК и КАССА (С. Харитонов , Д. Чистов)

В книге " Секреты профессиональной работы с «1 С: Бухгалтерией 8». Б А Н К и К А С С А" рассматривается порядок учета банковских и кассовых операций, расчетов с подо...

10 04 2020 11:39:11

Философия Java (Брюс Эккель)

Java нельзя понять, взглянув на него только как на коллекцию некоторых характеристик, - необходимо понять задачи этого языка как частные задачи программиро...

09 04 2020 14:37:18

Метод Substring() в Java

Подстрока является частью строки. Метод String substring() Java String возвращает новый строковый объект из данной строки. Синтаксис String str = "Java Str...

08 04 2020 22:38:16

Простой Python. Современный стиль программирования. (Билл Любанович)

Эта книга идеально подходит как для начинающих программистов, так и для тех, кто только собирается осваивать Python, но уже имеет опыт программирования на...

07 04 2020 23:23:22

Является ли Java «pass-by-reference» или «pass-by-value»?

Прежде всего, мы должны понимать, что подразумевается под передачей по значению или передачей по ссылке. передается по ссылке Когда параметр передается по...

06 04 2020 23:21:40

Преобразование файлов RTF и TXT в файлы DOCX в C#

Когда вы вводите имена входных и выходных файлов и нажмите « Конвертировать», программа использует следующий код, чтобы открыть файл и сохранить его в новом...

05 04 2020 9:57:30

Обработать ошибки DataGridView в C#

В этом примере показано, как вы можете обрабатывать ошибки DataGridView при изменении данных в элементе управления DataGridView. Пример Создание DataTable...

04 04 2020 21:51:48

Сделать меню во время выполнения для приложения WPF в C#

В этом примере показано, как вы можете создавать меню во время выполнения и добавлять их в приложение WPF. Обычно вы создаете пользовательский интерфейс пр...

03 04 2020 4:49:41

Случайные числа в Python

Случайный модуль реализует генераторы псевдослучайных чисел для различных распределений. Функции, предоставляемые этим модулем, являются фактически связанн...

02 04 2020 14:36:34

Создайте график для турнира с круговым движением в C#

Нажмите здесь , чтобы просмотреть описание алгоритма, который программа использует для планирования циклического цикла турнир. Функция GenerateRoundRobinOd...

01 04 2020 18:53:15


Parse error: syntax error, unexpected ',' in /home/users/9/9161484547/domains/flash-mx.ru/lessons/926.php on line 69