Я должен нарисовать линию так, чтобы, например, если входное значение ширины линии равно 20 мм, тогда ширина нарисованной линии должна быть в 20 мм. Я читал в документации MFC, что значение входной ширины, которое мы предоставляем, рассматривается MFC как единицы, а значения нарисованных объектов указаны в пикселях. Может ли кто-нибудь сказать мне, как установить и получить масштабирование ширины в мм.
Вам нужно использовать SetMapMode
.
The
SetMapMode
function sets the mapping mode of the specified device context. The mapping mode defines the unit of measure used to transform page-space units into device-space units, and also defines the orientation of the device's x and y axes.
Посмотрите на MM_LOMETRIC
или MM_HIMETRIC
:
Each logical unit is mapped to 0.01 millimeter. Positive x is to the right; positive y is up.
В конце статьи написано:
The
MM_HIENGLISH
,MM_HIMETRIC
,MM_LOENGLISH
,MM_LOMETRIC
, andMM_TWIPS
modes are useful for applications drawing in physically meaningful units (such as inches or millimeters).
@VikranthN Пожалуйста, проголосуйте и примите мой ответ, если он был вам полезен.
Привет, Эндрю. Я изучил режимы отображения и начал использовать MM_HIMETRIC. Спасибо, добрый день