c# - 给定 C# 中已知的 DPI,如何计算以毫米为单位的给定字体大小?
问题描述
我需要打印具有非常特定字体大小的标签,但是目标设备的 DPI 不同。有些具有 300 DPI 分辨率,有些具有 600 DPI 等。
由于某种原因,以下两行给出了相同的值:
var f1 = new FormattedText(
"M",
CultureInfo.CurrentCulture,
FlowDirection.LeftToRight,
new Typeface(TypefaceName),
12,
DrawingColor,
new NumberSubstitution(),
1);
var f2 = new FormattedText(
"M",
CultureInfo.CurrentCulture,
FlowDirection.LeftToRight,
new Typeface(TypefaceName),
12,
DrawingColor,
new NumberSubstitution(),
100);
var h1 = f1.Height; // = 14.583333333333334
var h2 = f2.Height; // = 14.583333333333334
无论'值如何,两者h1
和都h2
给出相同的值。同样,高度是像素吗?Height
FormattedText
pixelsPerDip
14.583333333333334
pixelsPerDip
如果我设置的任何值都相同,目的是什么Height
?
我知道我可以使用DPI / 25.4 * y
(以毫米为单位的值在哪里)计算一些物理高度,但是在创建实例y
时如何计算该值?FormattedText
换句话说,我如何创建一个FormattedText
实例来打印一些具有非常特定物理高度的文本?
解决方案
推荐阅读
- ruby-on-rails - 如何在 simple_form_for 中维护信息,直到通过正确答案
- python - 无法使用身份验证密钥从 Web API 获取数据
- while-loop - Ipywidgets 不在“while True”循环中交互
- python - 未知层:当我尝试加载模型时 KerasLayer
- amazon-web-services - 要删除共享或公共快照,您必须使用登录到拥有该快照的 AWS 账户
- java - 在列表视图中添加链接
- r - as.vector(data) 中的错误:没有将此 S4 类强制为向量的方法
- office-js - 由于不活动,getAttachmentContentAsync 中的异常,无法捕获
- python-3.x - 如何修复 Jupyter Notebooks 中的“Key Error :'not in index'”错误
- django - 在单个选项卡中运行多个微服务