将 System.Drawing.Font.Size 转换为 WPF FontSize

Posted

技术标签:

【中文标题】将 System.Drawing.Font.Size 转换为 WPF FontSize【英文标题】:Convert System.Drawing.Font.Size to WPF FontSize 【发布时间】:2012-03-30 20:10:48 【问题描述】:

我需要在 WPF“字体”中转换 GDI 字体。

myGdiFont As System.Drawing.Font

_Family As Windows.Media.FontFamily
_Style As Windows.FontStyle
_Weight As Windows.FontWeight
_Size As Double

特别是,我需要转换

_Size = myGdiFont.Size (???)

WinForms 字体中的大小是单位或点...在 WPF 中是像素...如何从一种转换为另一种?

附言。 按照 Clemens 的指示,是否正确?

  Dim myDrawingFont As New System.Drawing.Font("Arial", 10)
  Dim myWpfLabel As New Windows.Controls.Label
  myWpfLabel.FontSize = myDrawingFont.SizeInPoints * 72 / 96

固定:

  myWpfLabel.FontSize = myDrawingFont.SizeInPoints * 96 / 72

【问题讨论】:

【参考方案1】:

乘法。一个点是 1/72 英寸,而 WPF 设备无关单位(“WPF 像素”)是 1/96 英寸。

您可以通过在 XAML 中指定 WPF 控件的 FontSize 属性来验证这一点,例如“24”和“18pt”。您将意识到这两个值会产生相同的实际字体大小。

【讨论】:

不,应该是myWpfLabel.FontSize = myDrawingFont.SizeInPoints / 72 * 96

以上是关于将 System.Drawing.Font.Size 转换为 WPF FontSize的主要内容,如果未能解决你的问题,请参考以下文章

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式

sh 一个将生成CA的脚本,将CA导入到钥匙串中,然后它将创建一个证书并与CA签名,然后将其导入到

python怎么将0写入文件?

如何将CMD窗口背景改成透明?