0

是否有一个 C++ 库接受一个字符串和一个字体文件并使用该字体返回该字符串的像素表示?例如,我编写了一个简短的 PHP 脚本,它使用 Courier 绘制单个字母,然后提取单个像素:

字母 abc 的屏幕截图

我可以将其转换为一组颜色强度代码并使用它,但这意味着我需要对每种字体中我想使用的每个字符进行硬编码,并且我会丢失诸如连字和智能字距调整之类的东西,这些东西只有在多个字符出现时才会出现聚到一起。考虑到我要使用的字体的 TTF 文件,C++ 中有没有办法直接执行此操作?我使用的是 Linux,所以我不能依赖像GetGlyphOutline这样的 Windows API 函数

4

1 回答 1

3

是否有接受字符串和字体文件的 C++ 库

有 C 库可以用来做同样的事情。它被称为Freetype2。它相对容易使用。如果你想保持东西的便携性和相对轻量级,使用 Freetype2 是一种方法。在 linux 系统上,它可能已经安装了。

此外,跨平台 GUI 工具包通常会提供某种“字体”类,可以用来做你想做的事。例如,在 Qt 4 中,您可以使用 QFont 在 Qimage 上绘制文本,然后提取单个像素,加上操作系统(具有“字体”概念的系统)通常也提供某种字体操作 API。

于 2012-05-06T21:08:31.577 回答