作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 LOGFONT.lfHeight
值为 -11。但是,我知道字体大小实际上是 8,所以我需要将这个数字转换为不同的度量单位吗?我在 MSDN 文档中找到了这个公式:
int height = abs((pixels * DOTSY) / 72);
这会获取像素并将其变成 LOGFONT
可以使用的高度值。如果我以另一种方式工作:
int pixels = abs((height / DOTSY) * 72);
这给了我 8.24 的值。我假设这就是将字体高度转换为可用值所需要做的一切,我是否正确?
最佳答案
是的。 DOTSY 将为 96,这是 Windows 中 DPI 的默认显示器分辨率。您将需要确保此值对于您正在写入的设备是正确的 - 打印机通常具有更高的分辨率,并且可以更改显示器分辨率。 lfHeight 为负值表示字体映射器应该使用字符高度而不是单元格高度来匹配,所以这里只有绝对值很重要。
关于c# - 如何将 LOGFONT.lfHeight 转换为像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480320/
我的 LOGFONT.lfHeight 值为 -11。但是,我知道字体大小实际上是 8,所以我需要将这个数字转换为不同的度量单位吗?我在 MSDN 文档中找到了这个公式: int height = a
我是一名优秀的程序员,十分优秀!