gpt4 book ai didi

delphi - 如何在delphi中获取字体大小

转载 作者:行者123 更新时间:2023-12-03 18:17:27 25 4
gpt4 key购买 nike

我正在寻找一个函数,该函数应将参数作为字体名称、示例字符、宽度、示例字符的高度,并应返回字体大小。

它必须是这样的:

    GetFontSize(<Font Name>, <Sample Character>, <Sample Character Width>,
<Sample Character Height>)

它必须返回字体大小,

这在 delphi 中可行吗?

最佳答案

您可能想看看这个讨论 font size and points 的页面.

它使用以下方法在点和像素大小之间进行转换:

Arial 12pt at 96 dpi:                      font size in points             12font size in pixels = ------------------- × 96 dpi = ---- × 96 = 16 pixels                      72 points per inch              72

您可以将其用于转化。正如 Blorgbeard 所述,您只需要了解屏幕 dpi 可能存在的差异。点通常用来描述纸上的大小。您需要决定如何将其映射到屏幕。例如,许多程序将允许您设置缩放级别。这不会改变纸张上的打印尺寸,但会影响屏幕上的像素高度。

根据您要完成的任务,您可能需要获取字体的实际大小。如果您想确切了解字体是如何组合在一起的,请查看 Obtaining Font Metrics。该页面上的代码使用 .Net 库,但它有很好的解释。如果您想在 Delphi 中获取文本指标,您可以使用 GetTextMetrics function .

正如 Rob 在他的评论中所述,您可以通过将 Font.Size 属性设置为以像素为单位的负高度来绘制特定高度的文本。然后 Windows 将在该高度绘制文本。在那种情况下,您不需要像原型(prototype)函数中那样的特定字母或宽度。对于给定的字体大小,每个字母将具有不同的高度和宽度。 IE。大写字母会比小写字母高,“W”等字母会比“i”等字母宽。

关于delphi - 如何在delphi中获取字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2927997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com